diff options
author | Kristian Monsen <kristianm@google.com> | 2010-06-28 16:42:48 +0100 |
---|---|---|
committer | Kristian Monsen <kristianm@google.com> | 2010-07-02 10:29:56 +0100 |
commit | 06ea8e899e48f1f2f396b70e63fae369f2f23232 (patch) | |
tree | 20c1428cd05c76f32394ab354ea35ed99acd86d8 /WebCore/ChangeLog | |
parent | 72aad67af14193199e29cdd5c4ddc095a8b9a8a8 (diff) | |
download | external_webkit-06ea8e899e48f1f2f396b70e63fae369f2f23232.zip external_webkit-06ea8e899e48f1f2f396b70e63fae369f2f23232.tar.gz external_webkit-06ea8e899e48f1f2f396b70e63fae369f2f23232.tar.bz2 |
Merge WebKit at r61871: Initial merge by git.
Change-Id: I6cff43abca9cc4782e088a469ad4f03f166a65d5
Diffstat (limited to 'WebCore/ChangeLog')
-rw-r--r-- | WebCore/ChangeLog | 8655 |
1 files changed, 8651 insertions, 4 deletions
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index 7ba9026..8ab39c5 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,8613 @@ +2010-06-25 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Take a KURL parameter in Document's constructor. + This will remove the one case where Document::url() + and FrameLoader::url() are not equal, allowing us to + remove FrameLoader::url(). + + https://bugs.webkit.org/show_bug.cgi?id=41166 + + Refactor only, no new tests. + + * dom/DOMImplementation.cpp: + (WebCore::DOMImplementation::createDocument): Take a KURL and pass it through to Document. + (WebCore::DOMImplementation::createHTMLDocument): + * dom/DOMImplementation.h: + * dom/Document.cpp: + (WebCore::Document::Document): Call setURL() if a frame or a non-empty KURL is specified. + (WebCore::Document::initSecurityContext): m_url is now initialized, so use it instead + of m_frame->loader()->url() for initializing the SecurityOrigin. + * dom/Document.h: + (WebCore::Document::create): + (WebCore::Document::createXHTML): + * html/HTMLDocument.cpp: + * html/HTMLDocument.h: Add KURL parameter to create() and constructor. + * html/HTMLViewSourceDocument.cpp: + * html/HTMLViewSourceDocument.h: Add KURL parameter to create() and constructor. + * loader/CachedFont.cpp: + (WebCore::CachedFont::ensureSVGFontData): + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::createDocument): Take a KURL and pass it through to Document. + (WebCore::DocumentWriter::begin): Pass existing url parameter to constructors, and remove + redundant Document::setURL() call. + * loader/DocumentWriter.h: + * loader/FTPDirectoryDocument.cpp: + * loader/FTPDirectoryDocument.h: Add KURL parameter to create() and constructor. + * loader/ImageDocument.cpp: + * loader/ImageDocument.h: Add KURL parameter to create() and constructor. + * loader/MediaDocument.cpp: + * loader/MediaDocument.h: Add KURL parameter to create() and constructor. + * loader/PlaceholderDocument.h: Add KURL parameter to create() and constructor. + * loader/PluginDocument.cpp: + * loader/PluginDocument.h: Add KURL parameter to create() and constructor. + * loader/SinkDocument.cpp: + * loader/SinkDocument.h: Add KURL parameter to create() and constructor. + * loader/TextDocument.cpp: + * loader/TextDocument.h: Add KURL parameter to create() and constructor. + * svg/SVGDocument.cpp: + * svg/SVGDocument.h: Add KURL parameter to create() and constructor. + * xml/DOMParser.cpp: + (WebCore::DOMParser::parseFromString): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::responseXML): + * xml/XSLTProcessor.cpp: + (WebCore::XSLTProcessor::createDocumentFromSource): + +2010-06-25 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r61812. + http://trac.webkit.org/changeset/61812 + https://bugs.webkit.org/show_bug.cgi?id=41216 + + breaks Chromium workers tests (Requested by mnaganov on + #webkit). + + * storage/AbstractDatabase.cpp: + * storage/AbstractDatabase.h: + * storage/Database.cpp: + (WebCore::Database::databaseInfoTableName): + (WebCore::guidMutex): + (WebCore::guidToVersionMap): + (WebCore::updateGuidVersionMap): + (WebCore::guidToDatabaseMap): + (WebCore::databaseVersionKey): + (WebCore::DatabaseCreationCallbackTask::create): + (WebCore::DatabaseCreationCallbackTask::performTask): + (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask): + (WebCore::Database::openDatabase): + (WebCore::Database::Database): + (WebCore::Database::openAndVerifyVersion): + (WebCore::retrieveTextResultFromDatabase): + (WebCore::Database::getVersionFromDatabase): + (WebCore::setTextValueInDatabase): + (WebCore::Database::setVersionInDatabase): + (WebCore::Database::versionMatchesExpected): + (WebCore::Database::close): + (WebCore::Database::disableAuthorizer): + (WebCore::Database::enableAuthorizer): + (WebCore::Database::setAuthorizerReadOnly): + (WebCore::Database::lastActionChangedDatabase): + (WebCore::Database::lastActionWasInsert): + (WebCore::Database::resetDeletes): + (WebCore::Database::hadDeletes): + (WebCore::guidForOriginAndName): + (WebCore::Database::resetAuthorizer): + (WebCore::Database::performOpenAndVerify): + (WebCore::Database::performCreationCallback): + (WebCore::Database::version): + (WebCore::Database::setExpectedVersion): + (WebCore::Database::stringIdentifier): + (WebCore::Database::displayName): + (WebCore::Database::estimatedSize): + (WebCore::Database::fileName): + * storage/Database.h: + (WebCore::Database::scriptExecutionContext): + (WebCore::Database::opened): + (WebCore::Database::isNew): + (WebCore::Database::databaseDebugName): + * storage/DatabaseAuthorizer.cpp: + (WebCore::DatabaseAuthorizer::DatabaseAuthorizer): + (WebCore::DatabaseAuthorizer::denyBasedOnTableName): + * storage/DatabaseAuthorizer.h: + (WebCore::DatabaseAuthorizer::create): + * storage/DatabaseSync.cpp: + (WebCore::DatabaseSync::databaseInfoTableName): + (WebCore::DatabaseSync::openDatabaseSync): + (WebCore::DatabaseSync::DatabaseSync): + (WebCore::DatabaseSync::~DatabaseSync): + (WebCore::DatabaseSync::version): + (WebCore::DatabaseSync::changeVersion): + (WebCore::DatabaseSync::transaction): + (WebCore::DatabaseSync::scriptExecutionContext): + * storage/DatabaseSync.h: + (WebCore::DatabaseSync::databaseDebugName): + * storage/DatabaseTask.cpp: + (WebCore::DatabaseOpenTask::DatabaseOpenTask): + (WebCore::DatabaseOpenTask::doPerformTask): + * storage/DatabaseTask.h: + (WebCore::DatabaseOpenTask::create): + +2010-06-25 Lei Zheng <lzheng@chromium.org> + + Reviewed by Dimitri Glazkov. + + Add a flag to the ResourceResponse for tracking if a request was fetched when + Alternate-protocol is available. + https://bugs.webkit.org/show_bug.cgi?id=41001 + + No new tests. (This is just a setter and getter.) + + * platform/network/chromium/ResourceResponse.h: + (WebCore::ResourceResponse::ResourceResponse): + (WebCore::ResourceResponse::wasAlternateProtocolAvailable): + (WebCore::ResourceResponse::setWasAlternateProtocolAvailable): + +2010-06-25 Lyon Chen <liachen@rim.com> + + Reviewed by Darin Adler. + + InspectorCSSStore.cpp is not surrounded with ENABLE(INSPECTOR) + https://bugs.webkit.org/show_bug.cgi?id=41004 + + Surround InspectorCSSStore.cpp code with ENABLE(INSPECTOR) so it will not + break the build when INSPECTOR is disabled. + + * inspector/InspectorCSSStore.cpp: + +2010-06-25 No'am Rosenthal <noam.rosenthal@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] WebGL: missing file + https://bugs.webkit.org/show_bug.cgi?id=40998 + + Added a missing file to WebCore.pro + + No new tests; build fix + + * WebCore.pro: + +2010-06-25 Adam Roben <aroben@apple.com> + + Windows build fix + + * WebCore.vcproj/WebCore.vcproj: Added a missing </File> tag. + +2010-06-25 Alex Milowski <alex@milowski.com> + + Reviewed by Kenneth Rohde Christiansen. + + This patch changes the vertical alignment to rely upon baseline + alignment for all MathML rendering. This fixes a number of layout + issues and the implementation is much more clean. + + Also, this patch adds a horizontal green line in the debug layout + so you can see the top padding of any RenderMathMLBlock instance. + + Test: mathml/presentation/row-alignment.xhtml + + * css/mathml.css: + * mathml/RenderMathMLBlock.cpp: + * mathml/RenderMathMLFraction.cpp: + * mathml/RenderMathMLFraction.h: + * mathml/RenderMathMLOperator.cpp: + * mathml/RenderMathMLOperator.h: + * mathml/RenderMathMLRoot.cpp: + * mathml/RenderMathMLRow.cpp: + * mathml/RenderMathMLRow.h: + * mathml/RenderMathMLSquareRoot.cpp: + * mathml/RenderMathMLSubSup.cpp: + * mathml/RenderMathMLUnderOver.cpp: + +2010-06-25 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Can't see source when hitting debugger statement in evaled source + https://bugs.webkit.org/show_bug.cgi?id=41058 + + Test: inspector/debugger-pause-in-eval-script.html + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::sourceParsed): use lexical global object to figure out + where the script is compiled. Otherwise scripts typed in Web Inspector console will + be treated as ones evaluated in the context of Web Inspector and won't appear in the + scripts list. + * inspector/InspectorController.cpp: + (WebCore::InspectorController::didParseSource): cache script sources for eval's too. + +2010-06-25 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Reviewed by Kenneth Rohde Christiansen. + + [EFL] Use a descriptive string in FileChooser when multiple files can + be selected. + https://bugs.webkit.org/show_bug.cgi?id=40943 + + EFL port has no tests yet, so no new tests. + + * platform/efl/FileChooserEfl.cpp: + (WebCore::FileChooser::basenameForWidth): + +2010-06-25 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + SVG Text Highlighting not yet supported (in Safari) + https://bugs.webkit.org/show_bug.cgi?id=41200 + + Add text match marker highlighting support for SVG text - searching for SVG text in Safari now paints the nice yellow highlighting rect, and the + white rectangles for all text matches. Behaves exactly like HTML text, but respecting SVGs per-character/per-chunk transformations, + allowing to highlight textPaths, tspans with absolute per-character positions etc.. + + Only manually testable, thus no new tests. + + * rendering/InlineBox.h: Expose calculateBoundaries() in non-SVG builds as well, now used by InlineTextBox too. + * rendering/InlineTextBox.h: Add calculateBoundaries(), which will be used to refactor some code in RenderText, see below. + (WebCore::InlineTextBox::calculateBoundaries): Just return a IntRect(x(), y(), width(), height()) here. + (WebCore::RenderObject::isSVGInlineText): + * rendering/RenderSVGInlineText.h: + (WebCore::RenderSVGInlineText::isSVGInlineText): Return true for isSVGInlineText(), return false for isSVGText() (default in RenderObject.h) + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::paint): Only paint box decorations in PaintPhase(Child)BlockBackground, exit afterwards just like RenderBlock does. + Otherwise the white text match marker rectangle gets drawn over the yellow highlight that Safari draws. + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::paint): Accept a new painting phase: PaintPhaseSelection, used by Safari when drawing the yellow highlight rect. + * rendering/RenderText.cpp: + (WebCore::RenderText::absoluteQuads): Use calculateBoundaries() instead of IntRect(x(), y(), width(), height()). SVG provides different boundaries here. + (WebCore::RenderText::absoluteQuadsForRange): Ditto. This is the main change, leading to correct text highlight placement. + * rendering/SVGInlineFlowBox.cpp: Add assertion that painting is not disabled, for consistency. Change paint phase assertion to include PaintPhaseSelection. + (WebCore::SVGInlineFlowBox::paint): + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::selectionRectForTextChunkPart): Refactored from selectionRect(), to share code between selectionRect/computeTextMatchMarkerRect. + (WebCore::SVGInlineTextBox::selectionRect): Use new helper function selectionRectForTextChunkPart(). + (WebCore::SVGInlineTextBox::paint): Ditto. Call new computeTextMatchMarkerRect() function. + (WebCore::SVGInlineTextBox::computeTextMatchMarkerRect): Implemented similar to HTML, but respecting SVGs concept of text chunk parts. + (WebCore::SVGInlineTextBox::paintText): In PaintPhaseSelection, only paint selected text, not anything before/after the selection start/end. + (WebCore::SVGInlineTextBox::calculateBoundaries): Early exit, if m_chunkTransformation is identity. + * rendering/SVGInlineTextBox.h: Added "bool paintSelectedTextOnly" to paintText() and add new computeTextMatchMarkerRect(RenderStyle*) function. + * rendering/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBox::paint): Change paint phase assertion to include PaintPhaseSelection. + +2010-06-25 John Gregg <johnnyg@google.com> + + Reviewed by Darin Fisher. + + Notification should expose ltr/rtl as TextDirection, not String + https://bugs.webkit.org/show_bug.cgi?id=40871 + + No new tests; existing test covers this, just renaming a method. + + * notifications/Notification.h: + (WebCore::Notification::direction): + +2010-06-25 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r61842. + http://trac.webkit.org/changeset/61842 + https://bugs.webkit.org/show_bug.cgi?id=41208 + + It broke Windows build (Requested by Ossy_ on #webkit). + + * ForwardingHeaders/wtf/win/OwnPtrWin.h: Removed. + +2010-06-25 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Darin Adler. + + Remove unneeded whitespace from svgtags.in. + https://bugs.webkit.org/show_bug.cgi?id=40912 + + make_names.pl throws an error at non-empty lines + when using cl.exe as preprocessor. + + * svg/svgtags.in: + +2010-06-25 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Rob Buis. + + Split up isSVGText() in isSVGText() / isSVGInlineText() + https://bugs.webkit.org/show_bug.cgi?id=41204 + + Introduce isSVGInlineText(), to provide a safe mechanism to differentiate between RenderSVGText / RenderSVGInlineText. + No change in functionality, thus no new tests. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::shouldPreserveNewline): s/isSVGText/isSVGInlineText/ + (WebCore::RenderBlock::findNextLineBreak): Ditto. + * rendering/RenderObject.h: + (WebCore::RenderObject::isSVGInlineText): Return false, by default. + * rendering/RenderSVGInlineText.h: + (WebCore::RenderSVGInlineText::isSVGInlineText): Return true here, don't return true anymore for isSVGText(). + * rendering/RenderText.cpp: + (WebCore::RenderText::setTextInternal): s/isSVGText/isSVGInlineText/ + * rendering/RenderTreeAsText.cpp: Remove hack, now that we can properly differentiate between RenderSVGText / RenderSVGInlineText. + (WebCore::write): + +2010-06-25 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Adam Barth. + + Change OwnPtrCommon to include platform-specific headers + https://bugs.webkit.org/show_bug.cgi?id=40279 + + Adding new type to OwnPtrCommon needlessly causes all ports to do full rebuilds. + Change OwnPtrCommon to include platform-specific headers to avoid all ports rebuilds. + + * ForwardingHeaders/wtf/win: Added. + * ForwardingHeaders/wtf/win/OwnPtrWin.h: Added. + +2010-06-25 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Adam Barth. + + Implement TextCodecs for WinCE port. + https://bugs.webkit.org/show_bug.cgi?id=32169 + Originally written by Yong Li <yong.li@torchmobile.com> + + * platform/graphics/FontCache.h: + * platform/graphics/wince/FontCacheWince.cpp: + (WebCore::FontCache::getMultiLanguageInterface): + * platform/text/wince/TextCodecWinCE.cpp: Added. + (WebCore::codePageCharsets): + (WebCore::knownCharsets): + (WebCore::supportedCharsets): + (WebCore::languageManager): + (WebCore::addCharset): + (WebCore::LanguageManager::LanguageManager): + (WebCore::getCodePage): + (WebCore::newTextCodecWinCE): + (WebCore::TextCodecWinCE::TextCodecWinCE): + (WebCore::TextCodecWinCE::~TextCodecWinCE): + (WebCore::TextCodecWinCE::registerBaseEncodingNames): + (WebCore::TextCodecWinCE::registerBaseCodecs): + (WebCore::TextCodecWinCE::registerExtendedEncodingNames): + (WebCore::TextCodecWinCE::registerExtendedCodecs): + (WebCore::getCodePageFlags): + (WebCore::findFirstNonAsciiCharacter): + (WebCore::decode): + (WebCore::TextCodecWinCE::decode): + (WebCore::TextCodecWinCE::encode): + (WebCore::TextCodecWinCE::enumerateSupportedEncodings): + * platform/text/wince/TextCodecWinCE.h: Added. + +2010-06-24 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Dirk Schulze. + + Bug 40880 - SVG properties fill and stroke do not accept system colors + https://bugs.webkit.org/show_bug.cgi?id=40880 + + Handle css system colors in fill and stroke properties. + + Test: svg/css/rect-system-color.xhtml + + * css/CSSParser.cpp: Remove comment and unneeded if condition + (WebCore::CSSParser::parseValue): + * css/SVGCSSParser.cpp: Allow css system colors + (WebCore::CSSParser::parseSVGValue): + +2010-06-24 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Make DocumentParser API private on subclasses to catch misuse bugs + https://bugs.webkit.org/show_bug.cgi?id=41186 + + This already found one bug: + https://bugs.webkit.org/show_bug.cgi?id=41187 + + Added a new HTMLDocumentParaser::parseDocumentFragment so that + DocumentFragment.cpp does not need to use private methods. + + * dom/DocumentFragment.cpp: + (WebCore::DocumentFragment::parseHTML): + * dom/XMLDocumentParser.h: + (WebCore::XMLDocumentParser::setIsXHTMLDocument): + (WebCore::XMLDocumentParser::isXHTMLDocument): + (WebCore::XMLDocumentParser::setIsXHTMLMPDocument): + (WebCore::XMLDocumentParser::isXHTMLMPDocument): + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::parseDocumentFragment): + * html/HTMLDocumentParser.h: + * html/LegacyHTMLDocumentParser.cpp: + (WebCore::LegacyHTMLDocumentParser::parseDocumentFragment): + * html/LegacyHTMLDocumentParser.h: + (WebCore::LegacyHTMLDocumentParser::forceSynchronous): + (WebCore::LegacyHTMLDocumentParser::processingContentWrittenByScript): + * html/LegacyHTMLTreeBuilder.cpp: + (WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole): + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::replaceDocument): + * loader/TextDocument.cpp: + +2010-05-28 Philippe Normand <pnormand@igalia.com> + + Reviewed by Gustavo Noronha. + + [GStreamer] multiple video sink support + https://bugs.webkit.org/show_bug.cgi?id=39472 + + Playbin2 video-sink is now a bin containing a tee element capable + of dispatching the buffers to multiple video sinks. By default + only our webkit video sink is used. This will allow + GStreamerGWorld to add support for autovideosink in the future. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): + (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): + (WebCore::MediaPlayerPrivateGStreamer::naturalSize): + (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: + +2010-06-24 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Sketch out AfterHeadMode for tree builder + https://bugs.webkit.org/show_bug.cgi?id=41191 + + This mode is fairly similar to the others. I needed to change some of + the types around w.r.t. Nodes/Elements. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): + (WebCore::HTMLTreeBuilder::processToken): + (WebCore::HTMLTreeBuilder::insertElement): + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::ElementStack::push): + (WebCore::HTMLTreeBuilder::ElementStack::remove): + +2010-06-24 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Sketch out InHeadNoscriptMode for tree builder + https://bugs.webkit.org/show_bug.cgi?id=41189 + + Lots of notImplemented() calls in this state. I need to figure how to + delegate handling of a token from one state to another. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processToken): + +2010-06-24 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Sketch out InHeadMode for tree builder + https://bugs.webkit.org/show_bug.cgi?id=41184 + + This state is relatively straightforward. We introduce the stack of + open elements to track that notion in the spec. The old tree builder + has a nice data structure for that, which we'll probably steal, but I'd + like to see what the full API is first. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processToken): + (WebCore::HTMLTreeBuilder::insertCharacter): + (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement): + (WebCore::HTMLTreeBuilder::insertGenericRawTextElement): + (WebCore::HTMLTreeBuilder::insertScriptElement): + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::ElementStack::pop): + (WebCore::HTMLTreeBuilder::ElementStack::top): + +2010-06-24 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Sketch out BeforeHeadMode tree builder state + https://bugs.webkit.org/show_bug.cgi?id=41183 + + This makes procesToken recursive, which might not be the best idea. + Also, we can now make fake AtomicHTMLTokens for use by the algorithm. + + * html/HTMLToken.h: + (WebCore::AtomicHTMLToken::AtomicHTMLToken): + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processToken): + (WebCore::HTMLTreeBuilder::insertElement): + * html/HTMLTreeBuilder.h: + +2010-06-22 Antonio Gomes <tonikitoo@webkit.org> + + Reviewed by David Hyatt. + + Add a NodeList-derivated wrapper class for a ListHashSet. + https://bugs.webkit.org/show_bug.cgi?id=41081 + + StaticHashSetList will work as a wrapper to ListHashSet objects that are + aimed to be exposed to the DOM. + + As a use case, the rect based HitTest (bug 40197) will store the retrieved nodes + in a ListHashSet. It is going to be exposed to the DOM through are nodesFromRect + of Document returning a NodeList (i.e. StatisHashSetList) wrapping a ListHashSet. + + No new tests. + +2010-06-24 Cris Neckar <cdn@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Out of bounds write in WebCore::PNGImageDecoder::rowAvailable + https://bugs.webkit.org/show_bug.cgi?id=40798 + + Catches error in row callback for libPNG when extra rows are returned. + + Test: fast/images/png-extra-row-crash.html + + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::rowAvailable): + +2010-06-24 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Clean up and document DocumentWriter::replaceDocument code path + https://bugs.webkit.org/show_bug.cgi?id=41182 + + No functional changes, thus no tests. + + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::replaceDocument): + - Remove comment which could be misleading. + +2010-06-23 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Adam Barth. + + Implementing DatabaseSync::openDatabaseSync(). + https://bugs.webkit.org/show_bug.cgi?id=40607 + + Moved some common code from Database to AbstractDatabase. Made + performOpenAndVerify() virtual, since DatabaseSync doesn't need to + interact with DatabaseThread. Removed the m_creationCallback + field, since it's only needed in the openDatabase{Sync} methods. + + * storage/AbstractDatabase.cpp: + (WebCore::retrieveTextResultFromDatabase): + (WebCore::setTextValueInDatabase): + (WebCore::guidMutex): + (WebCore::guidToVersionMap): + (WebCore::updateGuidVersionMap): + (WebCore::guidToDatabaseMap): + (WebCore::guidForOriginAndName): + (WebCore::AbstractDatabase::databaseInfoTableName): + (WebCore::AbstractDatabase::AbstractDatabase): + (WebCore::AbstractDatabase::closeDatabase): + (WebCore::AbstractDatabase::version): + (WebCore::AbstractDatabase::performOpenAndVerify): + (WebCore::AbstractDatabase::scriptExecutionContext): + (WebCore::AbstractDatabase::securityOrigin): + (WebCore::AbstractDatabase::stringIdentifier): + (WebCore::AbstractDatabase::displayName): + (WebCore::AbstractDatabase::estimatedSize): + (WebCore::AbstractDatabase::fileName): + (WebCore::AbstractDatabase::databaseVersionKey): + (WebCore::AbstractDatabase::getVersionFromDatabase): + (WebCore::AbstractDatabase::setVersionInDatabase): + (WebCore::AbstractDatabase::versionMatchesExpected): + (WebCore::AbstractDatabase::setExpectedVersion): + (WebCore::AbstractDatabase::disableAuthorizer): + (WebCore::AbstractDatabase::enableAuthorizer): + (WebCore::AbstractDatabase::setAuthorizerReadOnly): + (WebCore::AbstractDatabase::lastActionChangedDatabase): + (WebCore::AbstractDatabase::lastActionWasInsert): + (WebCore::AbstractDatabase::resetDeletes): + (WebCore::AbstractDatabase::hadDeletes): + (WebCore::AbstractDatabase::resetAuthorizer): + * storage/AbstractDatabase.h: + (WebCore::AbstractDatabase::opened): + (WebCore::AbstractDatabase::isNew): + (WebCore::AbstractDatabase::databaseDebugName): + * storage/Database.cpp: + (WebCore::DatabaseCreationCallbackTask::create): + (WebCore::DatabaseCreationCallbackTask::performTask): + (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask): + (WebCore::Database::openDatabase): + (WebCore::Database::Database): + (WebCore::Database::version): + (WebCore::Database::openAndVerifyVersion): + (WebCore::Database::close): + (WebCore::Database::stop): + (WebCore::Database::performOpenAndVerify): + * storage/Database.h: + (WebCore::Database::sqliteDatabase): + * storage/DatabaseAuthorizer.cpp: + (WebCore::DatabaseAuthorizer::create): + (WebCore::DatabaseAuthorizer::DatabaseAuthorizer): + (WebCore::DatabaseAuthorizer::denyBasedOnTableName): + * storage/DatabaseAuthorizer.h: + * storage/DatabaseSync.cpp: + (WebCore::DatabaseSync::openDatabaseSync): + (WebCore::DatabaseSync::DatabaseSync): + (WebCore::DatabaseSync::changeVersion): + (WebCore::DatabaseSync::transaction): + (WebCore::DatabaseSync::markAsDeletedAndClose): + (WebCore::CloseSyncDatabaseOnContextThreadTask::create): + (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask): + (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask): + (WebCore::DatabaseSync::closeImmediately): + * storage/DatabaseSync.h: + * storage/DatabaseTask.cpp: + (WebCore::DatabaseOpenTask::DatabaseOpenTask): + (WebCore::DatabaseOpenTask::doPerformTask): + * storage/DatabaseTask.h: + (WebCore::DatabaseOpenTask::create): + +2010-06-24 Steve Falkenburg <sfalken@apple.com> + + Windows build fix. + + * platform/network/cf/AuthenticationCF.h: + +2010-06-24 Martin Robinson <mrobinson@igalia.com> + + Unreviewed. Build fix. + + Fix the build after r61798. + + * platform/gtk/PasteboardHelper.cpp: + (WebCore::PasteboardHelper::getClipboardContents): + +2010-06-24 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Brady Eidson. + + https://bugs.webkit.org/show_bug.cgi?id=41178 + Timed refresh in subframes isn't stopped when going into b/f cache + + Test: fast/history/timed-refresh-in-cached-frame.html + + * history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Top frame's stopLoading() + won't help cached subframes; stop loading from here. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::stopLoading): Don't stop loading in child frames. This didn't work + for cached frames due to frame tree having been already desonstructed, and it's not necessary + in non-cached case because stopLoading() will be called for subframes via + FrameLoader::detachFromParent() and closeURL(). + (WebCore::FrameLoader::pageHidden): This was a second code path that dispatched pagehide + event - it's no longer needed, because everything goes through FrameLoader::stopLoading(). + (WebCore::FrameLoader::commitProvisionalLoad): Don't call pageHidden(), the code for adding + frame to b/f cache will do everything. + + * loader/FrameLoader.h: Removed pageHidden(). + +2010-06-24 Eric Seidel <eric@webkit.org> + + Unreviewed. Fix the build. I am a bad man. + + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::replaceDocument): + +2010-06-24 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + Build fix for building against GTK+ 3.x. + + No new tests as functionality has not changed. + + * platform/gtk/GtkVersioning.h: + * platform/gtk/PasteboardHelper.cpp: + (WebCore::PasteboardHelper::getClipboardContents): + (WebCore::PasteboardHelper::fillSelectionData): + +2010-06-24 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Clean up and document DocumentWriter::replaceDocument code path + https://bugs.webkit.org/show_bug.cgi?id=41182 + + No functional change, thus no test. + + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::replaceDocument): + * loader/DocumentWriter.h: + +2010-06-24 Jer Noble <jer.noble@apple.com> + + Reviewed by Eric Carlson. + + Full-screened content doesn't keep the display on: Safari not grabbing a power assertion? + https://bugs.webkit.org/show_bug.cgi?id=40939 + rdar://problem/7996172 + + Export -[MediaElement playbackRate]; + + * WebCore.Video.exp: + +2010-06-21 Evan Martin <evan@chromium.org> + + Reviewed by Adam Barth. + + [chromium] overlapping characters in complex text + https://bugs.webkit.org/show_bug.cgi?id=40966 + + We need to clear all the buffers we hand to Harfbuzz before we use them. + While I'm here, refactor the code slightly to make its behavior more + clear and correct (previously, we would repeatedly double our buffer + size when we could have just sized it correctly on the second try). + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::TextRunWalker::TextRunWalker): + (WebCore::TextRunWalker::nextScriptRun): + (WebCore::TextRunWalker::createGlyphArrays): + (WebCore::TextRunWalker::shapeGlyphs): + +2010-06-24 Adele Peterson <adele@apple.com> + + Reviewed by Sam Weinig. + + Updated fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events + https://bugs.webkit.org/show_bug.cgi?id=41085 + + Covered by existing tests. + + * editing/EditorCommand.cpp: + (WebCore::executePasteAsPlainText): Added. + (WebCore::createCommandMap): Added pasteAsPlainText command. + +2010-06-24 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Sketch out BeforeHTMLMode state + https://bugs.webkit.org/show_bug.cgi?id=41133 + + In this patch, we switch the TreeBuidler over to using AtomicHTMLTokens + and sketch out another state. These states don't actually do anything + yet, I'm still just getting the structure of the spec into the code so + we can implement the details incrementally. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::constructTreeFromToken): + (WebCore::HTMLTreeBuilder::processToken): + (WebCore::HTMLTreeBuilder::insertDoctype): + (WebCore::HTMLTreeBuilder::insertComment): + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::parseError): + +2010-06-24 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add AtomicHTMLToken + https://bugs.webkit.org/show_bug.cgi?id=41131 + + We need an atomized version of the token for use in the tree builder. + Eventually, we should make the existing HTMLToken an internal detail of + the HTMLTokenizer. This new AtomicHTMLToken should be also be more + easily cached between the preload scanner and the tree builder. + + * html/HTMLToken.h: + (WebCore::AtomicHTMLToken::AtomicHTMLToken): + (WebCore::AtomicHTMLToken::type): + (WebCore::AtomicHTMLToken::name): + (WebCore::AtomicHTMLToken::selfClosing): + (WebCore::AtomicHTMLToken::attributes): + (WebCore::AtomicHTMLToken::characters): + (WebCore::AtomicHTMLToken::comment): + (WebCore::AtomicHTMLToken::publicIdentifier): + (WebCore::AtomicHTMLToken::systemIdentifier): + (WebCore::AtomicHTMLToken::forceQuirks): + * html/HTMLTreeBuilder.cpp: + (WebCore::convertToOldStyle): + (WebCore::HTMLTreeBuilder::passTokenToLegacyParser): + +2010-06-24 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add RawDataDocumentParser to get rid of a bunch of copy/paste code in DocumentParser subclasses + https://bugs.webkit.org/show_bug.cgi?id=41136 + + I think this is likely far from the final design, + however this is almost entirely minus lines which is a + good thing. + + The original authors of these DocumentParser subclasses + seem to have just copied the files whole, as they all + had the same includes, many of which were unnecessary for + some of the files. + + I think eventually the FrameLoader will call a virtual + DocumentParser::appendData which will in turn decode + and call another write/appendData call. In the case + of these RawDataDocumentParsers, they will just override + the low-level appendData call instead of needing + DocumentWriter to have a special if based on + DocumentParser::wantsRawData. + + No functional change, thus no tests. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * dom/DocumentParser.h: + (WebCore::DocumentParser::writeRawData): + * loader/ImageDocument.cpp: + (WebCore::ImageDocumentParser::ImageDocumentParser): + (WebCore::ImageDocumentParser::finish): + * loader/MediaDocument.cpp: + (WebCore::MediaDocumentParser::MediaDocumentParser): + (WebCore::MediaDocumentParser::writeRawData): + * loader/PluginDocument.cpp: + (WebCore::PluginDocumentParser::PluginDocumentParser): + * loader/SinkDocument.cpp: + (WebCore::SinkDocument::createParser): + +2010-06-23 Peter Kasting <pkasting@google.com> + + Reviewed by Adam Barth. + + REGRESSION (r61619): Memory corruption in open-source ICO decoder + https://bugs.webkit.org/show_bug.cgi?id=41107 + + * platform/image-decoders/bmp/BMPImageReader.cpp: + (WebCore::BMPImageReader::processInfoHeader): Fix memory corruption. + * platform/image-decoders/ico/ICOImageDecoder.cpp: + (WebCore::ICOImageDecoder::processDirectoryEntries): Handle sizing failure correctly (though failure should be impossible). + +2010-06-24 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r61783. + http://trac.webkit.org/changeset/61783 + https://bugs.webkit.org/show_bug.cgi?id=41179 + + Caused a couple of test failures (Requested by japhet on + #webkit). + + * dom/DOMImplementation.cpp: + (WebCore::DOMImplementation::createDocument): + (WebCore::DOMImplementation::createHTMLDocument): + * dom/DOMImplementation.h: + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::initSecurityContext): + * dom/Document.h: + (WebCore::Document::create): + (WebCore::Document::createXHTML): + * html/HTMLDocument.cpp: + (WebCore::HTMLDocument::HTMLDocument): + * html/HTMLDocument.h: + (WebCore::HTMLDocument::create): + * html/HTMLViewSourceDocument.cpp: + (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): + * html/HTMLViewSourceDocument.h: + (WebCore::HTMLViewSourceDocument::create): + * loader/CachedFont.cpp: + (WebCore::CachedFont::ensureSVGFontData): + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::createDocument): + (WebCore::DocumentWriter::begin): + * loader/DocumentWriter.h: + * loader/FTPDirectoryDocument.cpp: + (WebCore::FTPDirectoryDocument::FTPDirectoryDocument): + * loader/FTPDirectoryDocument.h: + (WebCore::FTPDirectoryDocument::create): + * loader/ImageDocument.cpp: + (WebCore::ImageDocument::ImageDocument): + * loader/ImageDocument.h: + (WebCore::ImageDocument::create): + * loader/MediaDocument.cpp: + (WebCore::MediaDocument::MediaDocument): + * loader/MediaDocument.h: + (WebCore::MediaDocument::create): + * loader/PlaceholderDocument.h: + (WebCore::PlaceholderDocument::create): + (WebCore::PlaceholderDocument::PlaceholderDocument): + * loader/PluginDocument.cpp: + (WebCore::PluginDocument::PluginDocument): + * loader/PluginDocument.h: + (WebCore::PluginDocument::create): + * loader/SinkDocument.cpp: + (WebCore::SinkDocument::SinkDocument): + * loader/SinkDocument.h: + (WebCore::SinkDocument::create): + * loader/TextDocument.cpp: + (WebCore::TextDocument::TextDocument): + * loader/TextDocument.h: + (WebCore::TextDocument::create): + * svg/SVGDocument.cpp: + (WebCore::SVGDocument::SVGDocument): + * svg/SVGDocument.h: + (WebCore::SVGDocument::create): + * xml/DOMParser.cpp: + (WebCore::DOMParser::parseFromString): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::responseXML): + * xml/XSLTProcessor.cpp: + (WebCore::XSLTProcessor::createDocumentFromSource): + +2010-06-24 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Small code cleanup in RenderThemeGtk + https://bugs.webkit.org/show_bug.cgi?id=40989 + + Reduce the amount of duplicated code slightly and prepare this section for + future improvements, such as sharing the clipping rectangle calculation with + the slow path. + + No new tests as functionality has not changed. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::paintMozillaGtkWidget): Small code cleanup. + +2010-06-24 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Take a KURL parameter in Document's constructor. + This will remove the one case where Document::url() + and FrameLoader::url() are not equal, allowing us to + remove FrameLoader::url(). + + https://bugs.webkit.org/show_bug.cgi?id=41166 + + Refactor only, no new tests. + + * dom/DOMImplementation.cpp: + (WebCore::DOMImplementation::createDocument): Take a KURL and pass it through to Document. + (WebCore::DOMImplementation::createHTMLDocument): + * dom/DOMImplementation.h: + * dom/Document.cpp: + (WebCore::Document::Document): Call setURL() for non-empty KURL input parameters. + (WebCore::Document::initSecurityContext): m_url is now initialized, so use it instead + of m_frame->loader()->url() for initializing the SecurityOrigin. + * dom/Document.h: + (WebCore::Document::create): + (WebCore::Document::createXHTML): + * html/HTMLDocument.cpp: + * html/HTMLDocument.h: Add KURL parameter to create() and constructor. + * html/HTMLViewSourceDocument.cpp: + * html/HTMLViewSourceDocument.h: Add KURL parameter to create() and constructor. + * loader/CachedFont.cpp: + (WebCore::CachedFont::ensureSVGFontData): + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::createDocument): Take a KURL and pass it through to Document. + (WebCore::DocumentWriter::begin): Pass existing url parameter to constructors, and remove + redundant Document::setURL() call. + * loader/DocumentWriter.h: + * loader/FTPDirectoryDocument.cpp: + * loader/FTPDirectoryDocument.h: Add KURL parameter to create() and constructor. + * loader/ImageDocument.cpp: + * loader/ImageDocument.h: Add KURL parameter to create() and constructor. + * loader/MediaDocument.cpp: + * loader/MediaDocument.h: Add KURL parameter to create() and constructor. + * loader/PlaceholderDocument.h: Add KURL parameter to create() and constructor. + * loader/PluginDocument.cpp: + * loader/PluginDocument.h: Add KURL parameter to create() and constructor. + * loader/SinkDocument.cpp: + * loader/SinkDocument.h: Add KURL parameter to create() and constructor. + * loader/TextDocument.cpp: + * loader/TextDocument.h: Add KURL parameter to create() and constructor. + * svg/SVGDocument.cpp: + * svg/SVGDocument.h: Add KURL parameter to create() and constructor. + * xml/DOMParser.cpp: + (WebCore::DOMParser::parseFromString): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::responseXML): + * xml/XSLTProcessor.cpp: + (WebCore::XSLTProcessor::createDocumentFromSource): + +2010-06-24 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/8044645> and https://bugs.webkit.org/show_bug.cgi?id=41082 + + Webarchives will null main resource cause a repro crash. + + Test: webarchive/loading/mainresource-null-mimetype-crash.html + + * loader/archive/cf/LegacyWebArchive.cpp: + (WebCore::LegacyWebArchive::createResource): Fail to create the archive resource if the main resource's + mime type is null. + +2010-06-24 Damian Kaleta <dkaleta@apple.com> + + Reviewed by Sam Weinig. + + Provide a way to obtain the rendered rectangle for box elements. + + * WebCore.base.exp: Export the symbol so we can see it in WebKit. + * dom/Node.cpp: + (WebCore::Node::renderRect): Added new ethod that will return a rendered rectangle for box elements. + * dom/Node.h: Ditto. + +2010-06-24 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Create specialized classes for Transform, + Image and WebGL layers to replace the rather monolithic LayerChromium class. + Layers can now own the GL texture they use for backing store and a different + shading program can be used by the compositor for each layer type. WebGL layers + are not yet hooked up to GraphicsContext3D. + https://bugs.webkit.org/show_bug.cgi?id=41106 + + * WebCore.gypi: + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::GraphicsLayerChromium): + (WebCore::GraphicsLayerChromium::setContentsToImage): + (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): + * platform/graphics/chromium/GraphicsLayerChromium.h: + (WebCore::GraphicsLayerChromium::): + * platform/graphics/chromium/ImageLayerChromium.cpp: Added. + (WebCore::ImageLayerChromium::create): + (WebCore::ImageLayerChromium::ImageLayerChromium): + (WebCore::ImageLayerChromium::setContents): + (WebCore::ImageLayerChromium::updateTextureContents): + * platform/graphics/chromium/ImageLayerChromium.h: Added. + (WebCore::ImageLayerChromium::drawsContent): + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::create): + (WebCore::LayerChromium::LayerChromium): + (WebCore::LayerChromium::updateTextureContents): + (WebCore::LayerChromium::updateTextureRect): + * platform/graphics/chromium/LayerChromium.h: + (WebCore::LayerChromium::drawsContent): + (WebCore::LayerChromium::ownsTexture): + (WebCore::LayerChromium::textureId): + (WebCore::LayerChromium::setShaderProgramId): + (WebCore::LayerChromium::shaderProgramId): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::createLayerShader): + (WebCore::ShaderProgram::ShaderProgram): + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::~LayerRendererChromium): + (WebCore::LayerRendererChromium::useShaderProgram): + (WebCore::LayerRendererChromium::drawTexturedQuad): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::drawDebugBorder): + (WebCore::LayerRendererChromium::updateLayersRecursive): + (WebCore::LayerRendererChromium::drawLayer): + (WebCore::LayerRendererChromium::bindCommonAttribLocations): + (WebCore::LayerRendererChromium::initializeSharedGLObjects): + * platform/graphics/chromium/LayerRendererChromium.h: + (WebCore::LayerRendererChromium::): + * platform/graphics/chromium/TransformLayerChromium.cpp: Added. + (WebCore::TransformLayerChromium::create): + (WebCore::TransformLayerChromium::TransformLayerChromium): + * platform/graphics/chromium/TransformLayerChromium.h: Added. + (WebCore::TransformLayerChromium::drawsContent): + * platform/graphics/chromium/WebGLLayerChromium.cpp: Added. + (WebCore::WebGLLayerChromium::WebGLLayerChromium): + (WebCore::WebGLLayerChromium::textureId): + (WebCore::WebGLLayerChromium::updateTextureContents): + (WebCore::WebGLLayerChromium::setContext): + * platform/graphics/chromium/WebGLLayerChromium.h: Added. + (WebCore::WebGLLayerChromium::drawsContent): + (WebCore::WebGLLayerChromium::ownsTexture): + (WebCore::WebGLLayerChromium::shaderProgramId): + (WebCore::WebGLLayerChromium::setShaderProgramId): + +2010-06-24 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Inspector cleanup + better DevTools alignment with Inspector. + + https://bugs.webkit.org/show_bug.cgi?id=41094 + + - Removed a bunch of unused methods from all over the place + - Added client callbacks for states surviving navigation + - Implemented more user-friendly stub for InspectorFrontendHost.platform + + * inspector/InspectorClient.h: + (WebCore::InspectorClient::resourceTrackingWasEnabled): + (WebCore::InspectorClient::resourceTrackingWasDisabled): + (WebCore::InspectorClient::timelineProfilerWasStarted): + (WebCore::InspectorClient::timelineProfilerWasStopped): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::enableResourceTracking): + (WebCore::InspectorController::disableResourceTracking): + (WebCore::InspectorController::ensureSettingsLoaded): + (WebCore::InspectorController::startTimelineProfiler): + (WebCore::InspectorController::stopTimelineProfiler): + * inspector/InspectorFrontend.cpp: + * inspector/InspectorFrontend.h: + * inspector/front-end/InspectorBackendStub.js: + * inspector/front-end/InspectorFrontendHostStub.js: + (.WebInspector.InspectorFrontendHostStub.prototype.platform): + +2010-06-23 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=41099 + Assertion failure: !m_suspended when XMLHttpRequest fails + + This was a general problem with load failure timer not being deferred. + + Test: manual-tests/xhr-failure-behind-alert.html + + * manual-tests/xhr-failure-behind-alert.html: Added. + + * platform/network/ResourceHandle.cpp: + (WebCore::ResourceHandle::fireFailure): Added an empty case for NoFailure. Reset + m_scheduledFailureType to NoFailure when firing. + (WebCore::ResourceHandle::setDefersLoading): Stop failure timer when deferring, restart when + un-deferring loads. + + * platform/network/ResourceHandle.h: Renamed m_failureType to m_scheduledFailureType to + make it clear that it is only set when a timer is scheduled. + + * platform/network/ResourceHandleInternal.h: + (WebCore::ResourceHandleInternal::ResourceHandleInternal): Initialize m_scheduledFailureType + to NoFailure, so that we can look at it when un-deferring loads. + + * platform/network/android/ResourceHandleAndroid.cpp: + (WebCore::ResourceHandle::platformSetDefersLoading): + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::ResourceHandle::platformSetDefersLoading): + * platform/network/curl/ResourceHandleCurl.cpp: + (WebCore::ResourceHandle::platformSetDefersLoading): + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::ResourceHandle::platformSetDefersLoading): + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::platformSetDefersLoading): + * platform/network/soup/ResourceHandleSoup.cpp: + Platform specific parts of setDefersLoading() are now in a separate function. + +2010-06-24 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed: revert 61766. + + * inspector/InspectorClient.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::enableResourceTracking): + (WebCore::InspectorController::disableResourceTracking): + (WebCore::InspectorController::ensureSettingsLoaded): + (WebCore::InspectorController::startTimelineProfiler): + (WebCore::InspectorController::stopTimelineProfiler): + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::setAttachedWindow): + * inspector/InspectorFrontend.h: + * inspector/front-end/InspectorBackendStub.js: + (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight): + * inspector/front-end/InspectorFrontendHostStub.js: + (.WebInspector.InspectorFrontendHostStub.prototype.platform): + +2010-06-23 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Inspector cleanup + better DevTools alignment with Inspector. + + https://bugs.webkit.org/show_bug.cgi?id=41094 + + - Removed a bunch of unused methods from all over the place + - Added client callbacks for states surviving navigation + - Implemented more user-friendly stub for InspectorFrontendHost.platform + + * inspector/InspectorClient.h: + (WebCore::InspectorClient::resourceTrackingWasEnabled): + (WebCore::InspectorClient::resourceTrackingWasDisabled): + (WebCore::InspectorClient::timelineProfilerWasStarted): + (WebCore::InspectorClient::timelineProfilerWasStopped): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::enableResourceTracking): + (WebCore::InspectorController::disableResourceTracking): + (WebCore::InspectorController::ensureSettingsLoaded): + (WebCore::InspectorController::startTimelineProfiler): + (WebCore::InspectorController::stopTimelineProfiler): + * inspector/InspectorFrontend.cpp: + * inspector/InspectorFrontend.h: + * inspector/front-end/InspectorBackendStub.js: + * inspector/front-end/InspectorFrontendHostStub.js: + (.WebInspector.InspectorFrontendHostStub.prototype.platform): + +2010-06-24 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Inspector & SVG Text have problems, kids of RenderSVGText are not properly placed. + https://bugs.webkit.org/show_bug.cgi?id=41143 + + Simplify code path taken for SVG text in InspectorController, take the code path currently only used for RenderInline, + that just calls absoluteQuads(), and displays the result. Refactored code that all SVG renderers (except RenderSVGRoot) + take this code path -> highlighting now works as expected. + + Don't use absoluteClippedOverlowRect() in the various RenderSVG*::absoluteQuads() methods, as we're loosing floating-point precision. + Instead use localToAbsoluteQuad(strokeBoundingBox()) in order to highlight the unclipped, unfiltered, etc.. region that this renderer would paint. + + No new tests, as this is only manual testable - at least I didn't find any Inspector-Highlighting tests, if someone knows please mail me. + + * inspector/InspectorController.cpp: + (WebCore::drawHighlightForLineBoxesOrSVGRenderer): + (WebCore::InspectorController::drawNodeHighlight): + * rendering/RenderSVGBlock.cpp: + (WebCore::RenderSVGBlock::absoluteRects): ASSERT_NOT_REACHED() here. SVG should only be inspected through absoluteQuads(). + * rendering/RenderSVGBlock.h: Add absoluteRects() in this base class for RenderForeignObject/RenderSVGText. + * rendering/RenderSVGHiddenContainer.cpp: Remove absoluteRects() - RenderSVGModelObject already has it. + * rendering/RenderSVGHiddenContainer.h: Ditto. + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::absoluteRects): ASSERT_NOT_REACHED() here. + (WebCore::RenderSVGImage::absoluteQuads): Don't use absoluteClippedOverlowRect() but localToAbsoluteQuad(repaintRectInLocalCoordinates()). + * rendering/RenderSVGImage.h: + (WebCore::RenderSVGImage::objectBoundingBox): Inlined + * rendering/RenderSVGInline.cpp: + (WebCore::RenderSVGInline::absoluteQuads): Take RenderSVGText translation into account, allows inspecting <tspan>/<tref> etc. + * rendering/RenderSVGInline.h: + * rendering/RenderSVGModelObject.cpp: + (WebCore::RenderSVGModelObject::absoluteRects): ASSERT_NOT_REACHED() here. + (WebCore::RenderSVGModelObject::absoluteQuads): Don't use absoluteClippedOverlowRect() but localToAbsoluteQuad(repaintRectInLocalCoordinates()). + * rendering/RenderSVGModelObject.h: + * rendering/RenderSVGRoot.cpp: Fix typo in license s/aint/along. Need to touch this file in order to let Mac build. + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::mapLocalToContainer): Remove hack, which moved the transformState by x()/y(). Not needed anymore. + (WebCore::RenderSVGText::absoluteQuads): Proper implementation, respecting x/y translation. + * rendering/RenderSVGText.h: Reorder some functions. + * rendering/SVGRenderSupport.h: Removed last virtual function strokeBoundingBox(). + +2010-06-24 Kent Tamura <tkent@chromium.org> + + Unreviewed. Build fix for Tiger. + + * platform/mac/ThemeMac.mm: + (WebCore::setControlSize): + +2010-06-24 Kent Tamura <tkent@chromium.org> + + Unreviewed. Build fix for Tiger. + + * platform/mac/ThemeMac.mm: + (WebCore::setControlSize): + (WebCore::ThemeMac::inflateControlPaintRect): + +2010-06-24 Kent Tamura <tkent@chromium.org> + + Unreviewed. Build fix for Chromium Mac. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::isSpeechEnabled): + +2010-06-24 Simon Hausmann <simon.hausmann@nokia.com> + + Unreviewed Symbian build fix. + + The QML WebKit integration needs to be part of QtWebKit.sis + + * WebCore.pro: Deploy qmlwebkitplugin.dll. + +2010-06-24 Satish Sampath <satish@chromium.org> + + Reviewed by Kent Tamura. + + Add a speech button to input elements, no rendering or actions yet. + + Speech Input: Add a speech button to text input element (no rendering or actions yet) + https://bugs.webkit.org/show_bug.cgi?id=40925 + + No new tests. Will create a layout test in a subsequent patch. + + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): + (WebCore::nameToPseudoTypeMap): + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + * css/CSSValueKeywords.in: + * css/html.css: + (input::-webkit-input-speech-button): + * dom/InputElement.h: + * html/HTMLAttributeNames.in: + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::isSpeechEnabled): + * html/HTMLInputElement.h: + * platform/ThemeTypes.h: + (WebCore::): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::nodeAtPoint): + (WebCore::RenderTextControlSingleLine::forwardEvent): + (WebCore::RenderTextControlSingleLine::styleDidChange): + (WebCore::RenderTextControlSingleLine::hasControlClip): + (WebCore::RenderTextControlSingleLine::controlClipRect): + (WebCore::RenderTextControlSingleLine::textBlockWidth): + (WebCore::RenderTextControlSingleLine::preferredContentWidth): + (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight): + (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): + (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle): + (WebCore::RenderTextControlSingleLine::clientPaddingRight): + * rendering/RenderTextControlSingleLine.h: + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::adjustStyle): + (WebCore::RenderTheme::paint): + (WebCore::RenderTheme::paintBorderOnly): + (WebCore::RenderTheme::paintDecorations): + * rendering/TextControlInnerElements.cpp: + (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement): + (WebCore::InputFieldSpeechButtonElement::create): + (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): + * rendering/TextControlInnerElements.h: + * rendering/style/RenderStyleConstants.h: + (WebCore::): + +2010-06-24 Kent Tamura <tkent@chromium.org> + + Reviewed by Adam Barth. + + [Mac] The upper button of <input type=number> has no visual effect on click + https://bugs.webkit.org/show_bug.cgi?id=38380 + + Because we have no ways to draw an NSStepperCell with its up button + highlighted, use HIThemeDrawButton() instead. + + Test: platform/mac/fast/forms/input-appearance-spinbutton-up.html + + * platform/mac/ThemeMac.mm: + (WebCore::controlSizeFromPixelSize): + New function. Made from a part of setControlSize(). + (WebCore::setControlSize): + (WebCore::convertControlStatesToThemeDrawState): + (WebCore::paintStepper): Use HITheme API instead of NSStepperCell. + (WebCore::ThemeMac::inflateControlPaintRect): + Use controlSizeFromPixelSize(). + +2010-06-24 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: implement layout tests for debugger + https://bugs.webkit.org/show_bug.cgi?id=40774 + + Test: inspector/debugger-pause-on-debugger-statement.html + + * bindings/js/ScriptDebugServer.cpp: remove unused obsolete code that deals with global listeners. + (WebCore::ScriptDebugServer::ScriptDebugServer): + (WebCore::ScriptDebugServer::removeListener): + (WebCore::ScriptDebugServer::dispatchFunctionToListeners): + (WebCore::ScriptDebugServer::pauseIfNeeded): + (WebCore::ScriptDebugServer::didAddListener): + (WebCore::ScriptDebugServer::didRemoveListener): + * bindings/js/ScriptDebugServer.h: + * platform/mac/EventLoopMac.mm: + (WebCore::EventLoop::cycle): wait at most 10ms for new event, otherwise layout tests would + hang because in their case there may be no events ever. + +2010-06-24 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Fixed evaluation & logging of null values in console. + Changed handling of null and undefined in ScriptValue::toString() + to match JSC bindings (i.e. "null" and "undefined" instead of ""). + https://bugs.webkit.org/show_bug.cgi?id=40980 + + * bindings/v8/ScriptValue.cpp: + (WebCore::ScriptValue::toString): + * inspector/front-end/InjectedScript.js: + (injectedScriptConstructor): + +2010-06-24 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: live edit doesn't work when resource tracking is off + https://bugs.webkit.org/show_bug.cgi?id=41076 + + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView.prototype._sourceIDForLine): implement this method for ScriptView, + it's needed for editLine to work. + +2010-06-23 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Sketch out InitialMode of HTML5 tree builder + https://bugs.webkit.org/show_bug.cgi?id=41126 + + Transliterated from the spec. Currently doesn't do anything. Mostly + an experiment to see where this goes. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processToken): + (WebCore::HTMLTreeBuilder::insertDoctype): + (WebCore::HTMLTreeBuilder::insertComment): + * html/HTMLTreeBuilder.h: + +2010-06-23 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add all the HTML5 tree builder insertion modes + https://bugs.webkit.org/show_bug.cgi?id=41124 + + These are just copied verbatim from the spec. No tests because these + don't do anything yet. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): + (WebCore::HTMLTreeBuilder::passTokenToLegacyParser): + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::): + +2010-06-23 Eric Seidel <eric@webkit.org> + + Unreviewed. Fix namespace indent. Just whitespace changes. + + * dom/DocumentParser.h: + (WebCore::DocumentParser::~DocumentParser): + (WebCore::DocumentParser::isExecutingScript): + (WebCore::DocumentParser::stopParsing): + (WebCore::DocumentParser::processingData): + (WebCore::DocumentParser::wantsRawData): + (WebCore::DocumentParser::writeRawData): + (WebCore::DocumentParser::wellFormed): + (WebCore::DocumentParser::lineNumber): + (WebCore::DocumentParser::columnNumber): + (WebCore::DocumentParser::executeScriptsWaitingForStylesheets): + (WebCore::DocumentParser::htmlTreeBuilder): + (WebCore::DocumentParser::asHTMLDocumentParser): + (WebCore::DocumentParser::inViewSourceMode): + (WebCore::DocumentParser::setInViewSourceMode): + (WebCore::DocumentParser::document): + (WebCore::DocumentParser::xssAuditor): + (WebCore::DocumentParser::setXSSAuditor): + (WebCore::DocumentParser::DocumentParser): + +2010-06-23 Eric Seidel <eric@webkit.org> + + Unreviewed. Speculative build fix for Qt. + + Move Document* down onto DocumentParser, since every DocumentParser needs one. + https://bugs.webkit.org/show_bug.cgi?id=41117 + + XMLDocumentParserQt is a huge pile of donkey barf. + I can't believe I ever r+'d the creation of this pile of + copy/paste code. + + I clearly missed removing m_doc from this code as well and thus + broke Qt. + + We really need to fix both XMLDocumentParserLibxml2 and + XMLDocumentParserQt not to be so poorly abstracted so + that if we're going to have two of them they can at least + share some code. + + * dom/XMLDocumentParserQt.cpp: + (WebCore::XMLDocumentParser::XMLDocumentParser): + (WebCore::XMLDocumentParser::~XMLDocumentParser): + (WebCore::XMLDocumentParser::doWrite): + (WebCore::XMLDocumentParser::doEnd): + (WebCore::XMLDocumentParser::parse): + (WebCore::XMLDocumentParser::startDocument): + (WebCore::XMLDocumentParser::parseStartElement): + (WebCore::XMLDocumentParser::parseEndElement): + (WebCore::XMLDocumentParser::parseProcessingInstruction): + (WebCore::XMLDocumentParser::parseCdata): + (WebCore::XMLDocumentParser::parseComment): + (WebCore::XMLDocumentParser::parseDtd): + +2010-06-23 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Move Document* down onto DocumentParser, since every DocumentParser needs one. + https://bugs.webkit.org/show_bug.cgi?id=41117 + + This eliminated the need for document() on HTMLDocumentParser. + This paves the way for more code sharing between various + DocumentParser subclasses. + + * dom/DocumentParser.h: + (WebCore::DocumentParser::inViewSourceMode): + (WebCore::DocumentParser::setInViewSourceMode): + (WebCore::DocumentParser::document): + (WebCore::DocumentParser::DocumentParser): + * dom/XMLDocumentParser.cpp: + (WebCore::XMLDocumentParser::isWMLDocument): + (WebCore::XMLDocumentParser::pushCurrentNode): + (WebCore::XMLDocumentParser::popCurrentNode): + (WebCore::XMLDocumentParser::clearCurrentNodeStack): + (WebCore::XMLDocumentParser::enterText): + (WebCore::XMLDocumentParser::end): + (WebCore::XMLDocumentParser::insertErrorMessageBlock): + * dom/XMLDocumentParser.h: + * dom/XMLDocumentParserLibxml2.cpp: + (WebCore::XMLDocumentParser::XMLDocumentParser): + (WebCore::XMLDocumentParser::~XMLDocumentParser): + (WebCore::XMLDocumentParser::doWrite): + (WebCore::XMLDocumentParser::startElementNs): + (WebCore::XMLDocumentParser::endElementNs): + (WebCore::XMLDocumentParser::processingInstruction): + (WebCore::XMLDocumentParser::cdataBlock): + (WebCore::XMLDocumentParser::comment): + (WebCore::XMLDocumentParser::startDocument): + (WebCore::XMLDocumentParser::internalSubset): + (WebCore::XMLDocumentParser::initializeParserContext): + (WebCore::XMLDocumentParser::doEnd): + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::HTMLDocumentParser): + * html/HTMLDocumentParser.h: + * html/LegacyHTMLDocumentParser.cpp: + (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser): + (WebCore::LegacyHTMLDocumentParser::begin): + (WebCore::LegacyHTMLDocumentParser::scriptHandler): + (WebCore::LegacyHTMLDocumentParser::scriptExecution): + (WebCore::LegacyHTMLDocumentParser::parseTag): + (WebCore::LegacyHTMLDocumentParser::continueProcessing): + (WebCore::LegacyHTMLDocumentParser::willWriteHTML): + (WebCore::LegacyHTMLDocumentParser::didWriteHTML): + (WebCore::LegacyHTMLDocumentParser::write): + (WebCore::LegacyHTMLDocumentParser::stopParsing): + (WebCore::LegacyHTMLDocumentParser::timerFired): + (WebCore::LegacyHTMLDocumentParser::end): + (WebCore::LegacyHTMLDocumentParser::processToken): + (WebCore::LegacyHTMLDocumentParser::processDoctypeToken): + (WebCore::LegacyHTMLDocumentParser::executeScriptsWaitingForStylesheets): + (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsIfReady): + (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsTimerFired): + * html/LegacyHTMLDocumentParser.h: + * loader/ImageDocument.cpp: + (WebCore::ImageDocumentParser::ImageDocumentParser): + (WebCore::ImageDocumentParser::imageDocument): + (WebCore::ImageDocumentParser::write): + (WebCore::ImageDocumentParser::writeRawData): + (WebCore::ImageDocumentParser::finish): + (WebCore::ImageDocumentParser::finishWasCalled): + (WebCore::ImageDocumentParser::isWaitingForScripts): + (WebCore::ImageDocument::createParser): + * loader/MediaDocument.cpp: + (WebCore::MediaDocumentParser::MediaDocumentParser): + (WebCore::MediaDocumentParser::createDocumentStructure): + (WebCore::MediaDocumentParser::finish): + (WebCore::MediaDocumentParser::finishWasCalled): + * loader/PluginDocument.cpp: + (WebCore::PluginDocumentParser::PluginDocumentParser): + (WebCore::PluginDocumentParser::createDocumentStructure): + (WebCore::PluginDocumentParser::writeRawData): + (WebCore::PluginDocumentParser::finish): + (WebCore::PluginDocumentParser::finishWasCalled): + * loader/SinkDocument.cpp: + (WebCore::SinkDocumentParser::SinkDocumentParser): + * loader/TextDocument.cpp: + (WebCore::TextDocumentParser::TextDocumentParser): + (WebCore::TextDocumentParser::write): + (WebCore::TextDocumentParser::finish): + (WebCore::TextDocumentParser::finishWasCalled): + +2010-06-23 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Start to clean up DocumentParser interface + https://bugs.webkit.org/show_bug.cgi?id=41114 + + The first of many cleanups needed to the DocumentParser + interface. Rename executingScript() to isExecutingScript() + and make it return a bool instead of an int. Also added a + FIXME to XMLDocumentParser about implementing it and did + some minor other cleanup to the XMLDocumentParser header. + + No functional change, thus no tests. + + * dom/Document.cpp: + (WebCore::Document::open): + * dom/DocumentParser.h: + (WebCore::DocumentParser::isExecutingScript): + * dom/XMLDocumentParser.h: + (WebCore::XMLDocumentParser::wellFormed): + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::attemptToEnd): + (WebCore::HTMLDocumentParser::endIfDelayed): + (WebCore::HTMLDocumentParser::isExecutingScript): + * html/HTMLDocumentParser.h: + * html/LegacyHTMLDocumentParser.h: + (WebCore::LegacyHTMLDocumentParser::isExecutingScript): + +2010-06-22 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Simon Fraser. + + Implement IDL attribute for HTML5 hidden + https://bugs.webkit.org/show_bug.cgi?id=41039 + + Test: fast/html/hidden-attr-dom.html + + * html/HTMLElement.idl: Just add to the IDL file. [Reflect] takes + care of the rest. + +2010-06-23 Joanmarie Diggs <joanmarie.diggs@gmail.com> + + Reviewed by Chris Fleizach. + + [Gtk] nameFromChildren is obsolete + https://bugs.webkit.org/show_bug.cgi?id=36128 + + Look to the AtkText interface implemented by the objects in + question. + + Test: platform/gtk/accessibility/name-from-label.html + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_get_name): + (webkit_accessible_table_get_column_description): + (webkit_accessible_table_get_row_description): + +2010-06-23 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Kent Tamura. + + [BREWMP] Port FileSystem + https://bugs.webkit.org/show_bug.cgi?id=34323 + + Port FileSystem with IFileMgr interface. + + * platform/FileSystem.h: + * platform/brew/FileSystemBrew.cpp: Added. + (WebCore::getFileSize): + (WebCore::getFileModificationTime): + (WebCore::fileExists): + (WebCore::deleteFile): + (WebCore::deleteEmptyDirectory): + (WebCore::pathByAppendingComponent): + (WebCore::fileSystemRepresentation): + (WebCore::canonicalPath): + (WebCore::makeAllDirectories): + (WebCore::homeDirectoryPath): + (WebCore::pathGetFileName): + (WebCore::directoryName): + (WebCore::openTemporaryFile): + (WebCore::closeFile): + (WebCore::writeToFile): + (WebCore::unloadModule): + (WebCore::listDirectory): + +2010-06-23 Alexendar Pavlov <apavlov@chromium.org> + + Reviewed by David Hyatt. + + Swap checks in Position::isCandidate so that the less expensive + nodeIsUserSelectNode (node && node->renderer() && + node->renderer()->style()->userSelect() == SELECT_NONE) came first. + + (Was Web Inspector: Hangup when expanding elements with enormous + text node content in Elements panel). + + https://bugs.webkit.org/show_bug.cgi?id=35926 + + * dom/Position.cpp: + (WebCore::Position::isCandidate): + * dom/PositionIterator.cpp: + (WebCore::PositionIterator::isCandidate): + +2010-06-23 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Kent Tamura. + + [BREWMP] Add PopupMenu implementation + https://bugs.webkit.org/show_bug.cgi?id=40226 + + Delegate PopupMenu handling to ChromeClientBrew. + + * page/brew/ChromeClientBrew.h: Added. + * platform/PopupMenu.h: + * platform/brew/PopupMenuBrew.cpp: Added. + (WebCore::PopupMenu::PopupMenu): + (WebCore::PopupMenu::~PopupMenu): + (WebCore::PopupMenu::show): + (WebCore::PopupMenu::hide): + (WebCore::PopupMenu::updateFromElement): + (WebCore::PopupMenu::itemWritingDirectionIsNatural): + +2010-06-23 Kenneth Russell <kbr@google.com> + + Reviewed by Dimitri Glazkov. + + Implement format conversions in texImage2D and texSubImage2D taking HTML data + https://bugs.webkit.org/show_bug.cgi?id=40319 + + Generalized code supporting premultiplication of alpha and + vertical flip to pack texture data into requested format and type. + Handled incoming image data of various formats, RGBA and BGRA in + particular, both to reduce the number of temporary copies during + texture upload and to support premultiplying alpha for the + texImage2D and texSubImage2D entry points taking ArrayBufferView + in a subsequent bug. Added test case exercising all combinations + of format/type combinations, premultiplication of alpha, and + Image/ImageData upload. (Incorporated pnglib.js under + fast/canvas/webgl/resources/ to be able to generate Image elements + programmatically.) Tested in Safari on Mac OS X and in Chromium on + Mac OS X, Windows and Linux. + + Test: fast/canvas/webgl/tex-image-with-format-and-type.html + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::readPixels): + (WebCore::WebGLRenderingContext::texImage2DImpl): + (WebCore::WebGLRenderingContext::texImage2D): + (WebCore::WebGLRenderingContext::texSubImage2DImpl): + (WebCore::WebGLRenderingContext::texSubImage2D): + (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType): + (WebCore::WebGLRenderingContext::validateTexFuncParameters): + * platform/graphics/GraphicsContext3D.cpp: + (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): + (WebCore::GraphicsContext3D::extractImageData): + (WebCore::GraphicsContext3D::flipVertically): + (WebCore::doUnpackingAndPacking): + (WebCore::doPacking): + (WebCore::GraphicsContext3D::packPixels): + * platform/graphics/GraphicsContext3D.h: + (WebCore::GraphicsContext3D::): + * platform/graphics/cg/GraphicsContext3DCG.cpp: + (WebCore::GraphicsContext3D::getImageData): + * platform/graphics/mac/GraphicsContext3DMac.mm: + (WebCore::narrowInternalFormat): + (WebCore::GraphicsContext3D::texImage2D): + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3D::getImageData): + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2010-06-23 Stephen White <senorblanco@chromium.org> + + Unreviewed; correcting bad patch. + + In my haste to land r61710, I mistakenly landed the wrong version, in + which a chunk of code was moved. This patch moves that chunk of code + to where it was in the patch that was reviewed. Mea culpa. + + * rendering/RenderBoxModelObject.cpp: + (WebCore::ImageQualityController::shouldPaintAtLowQuality): + +2010-06-23 Stephen White <senorblanco@chromium.org> + + Reviewed by David Hyatt. + + This is a tweak to the resize algorithm introduced in r61341, and + is a fix for the regression described in + https://bugs.webkit.org/show_bug.cgi?id=41036 + + The goal is to bring back the some of old behaviour, without regressing + too much of the performance gains in r61341. + + The old algorithm was: + - on first resize, draw in high quality and record the paint time + - if we've already drawn at this size, use the same quality as last time + - on subsequent resizes, if the resize occurs within X ms of the + previous one, draw at low quality and set a timer (one timer per + image). + - when each timer expires, draw that image at high quality + + The r61341 algorithm was: + - on first resize, draw the image in low quality, add it to a list of + resized images, and set a timer (one timer for all images) + - when the timer expires, redraw all resized images in high quality + + The new algorithm is: + - on first resize, if no other animated resizes are outstanding, draw in + high quality and set the timer (one timer for all images) + - if any images have been resized to two different sizes in the last + X ms, draw all resized images in low quality and kick the timer + forward + - when the timer expires, if any animated resizes occured, redraw all + resized images in high quality, and reset the flag + + This should cause GUIMark and the IE9 demos to have good performance + after the first frame, while other pages with only static resizes + should be unaffected. + + * rendering/RenderBoxModelObject.cpp: + Change the LastPaintTimeMap to a LastPaintSizeMap: we now record the + last size an image was resized to, rather than the time it was painted + (the time actually became redundant in r61341 when I added the + check for m_timer.isActive(): we only care if anything is resizing + while the timer is active). + (WebCore::ImageQualityController::ImageQualityController): + Add an initializer for the m_animatedResizeIsActive flag. + (WebCore::ImageQualityController::objectDestroyed): + Reset the m_animatedResizeIsActive flag if this was the last object + in the list. + (WebCore::ImageQualityController::highQualityRepaintTimerFired): + Only repaint all the images if there was an animated resize (otherwise, + everything is already high quality). + (WebCore::ImageQualityController::shouldPaintAtLowQuality): + Implement the above algorithm. + +2010-06-23 Abhishek Arya <inferno@chromium.org> + + Reviewed by Kenneth Rohde Christiansen. + + Bad cast after DOM mutation in RenderMenuList + https://bugs.webkit.org/show_bug.cgi?id=40828 + + Firing the onchange event on select which changes its size > 1 causes the select + object to change from a menulist to a listbox. However, when propogating the events, + we do a bad cast assuming the object will remain a menulist. Added proper checks to + make sure we check the renderer after the onchange is fired and propogate the event + based on correct object type. + + Test: fast/events/select-onchange-crash.html + + * dom/SelectElement.cpp: + (WebCore::SelectElement::setSelectedIndex): + +2010-06-23 Andy Estes <aestes@apple.com> + + Reviewed by Alexey Proskuryakov. + + <rdar://problem/8107855> Prevent a crash in WebCore when removing an + object element with an invalid data URL in in a listener to its + beforeload event. + https://bugs.webkit.org/show_bug.cgi?id=41054 + + Tests: fast/dom/beforeload/remove-bad-object-in-beforeload-listener.html + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::renderFallbackContent): Exit early if the + object element is not in the document. + * rendering/RenderEmbeddedObject.cpp: + (WebCore::RenderEmbeddedObject::updateWidget): If RenderWidget::destroy() + was called during processing of onbeforeload, do not proceed with loading + the object. + +2010-06-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Xan Lopez. + + [gtk] web fonts not loaded properly in scribd html5 reader + https://bugs.webkit.org/show_bug.cgi?id=38758 + + Drop filling the pattern with default values, because this + restricts the matching more than we want. + + * platform/graphics/cairo/FontCacheCairo.cpp: + (WebCore::FontCache::createFontPlatformData): + +2010-06-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Xan Lopez. + + [gtk] web fonts not loaded properly in scribd html5 reader + https://bugs.webkit.org/show_bug.cgi?id=38758 + + Also special-case `sans' amd `mono', which are aliases commonly + used in GTK+ applications. + + * platform/graphics/cairo/FontCacheCairo.cpp: + (WebCore::isWellKnownFontName): + +2010-06-23 Justin Schuh <jschuh@chromium.org> + + Unreviewed, rolling out r61695. + http://trac.webkit.org/changeset/61695 + https://bugs.webkit.org/show_bug.cgi?id=40798 + + 61695 broke all the Linux builds. + + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::rowAvailable): + +2010-06-23 Kevin Ollivier <kevino@theolliviers.com> + + Reviewed by Darin Adler. + + Fix PluginViewNone.cpp compilation for ports that also compile PluginView.cpp + https://bugs.webkit.org/show_bug.cgi?id=37939 + + * plugins/PluginViewNone.cpp: + (WebCore::PluginView::handleFocusInEvent): + (WebCore::PluginView::handleFocusOutEvent): + (WebCore::PluginView::keepAlive): + (WebCore::PluginView::privateBrowsingStateChanged): + (WebCore::PluginView::setJavaScriptPaused): + +2010-06-23 Cris Neckar <cdn@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Out of bounds write in WebCore::PNGImageDecoder::rowAvailable + https://bugs.webkit.org/show_bug.cgi?id=40798 + + Catches error in row callback for libPNG when extra rows are returned. + + Test: fast/images/png-extra-row-crash.html + + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageDecoder::rowAvailable): + +2010-06-23 James Robinson <jamesr@chromium.org> + + Reviewed by Dan Bernstein. + + Do not set needsLayout when the style attribute changes on an SVG element + https://bugs.webkit.org/show_bug.cgi?id=40366 + + SVGSVGElement::svgAttributeChanged was incorrectly calling renderer()->setNeedsLayout(true) + whenever the styleAttr changed on its element. This could happen during layout in some + circumstances due to lazy style attribute synchronization. When it did, it could cause the + layout flags to become inconsistent. See the test case for details. + + Changes to an element's style attribute always mark an element as needing layout anyway so + this call was redundant. + + Test: fast/repaint/svg-layout-root-style-attr-update.html + + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::isKnownAttribute): + +2010-06-23 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + r61215 broke Acid3 + https://bugs.webkit.org/show_bug.cgi?id=41034 + + The code added in r61215, which tests whether the root renderer will fill + the entire viewport, should not run for subframes. So bail from + RenderView::paintBoxDecorations() if document()->ownerElement() is not null. + The old code was trying to do this by checking 'elt', but that ends up as + null after the for loop above. + + We can also bail early if the is no FrameView(). + + Test: fast/frames/paint-iframe-background.html + + * rendering/RenderView.cpp: + (WebCore::RenderView::paintBoxDecorations): + +2010-06-23 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: do not reset profiles panel on navigation. + + https://bugs.webkit.org/show_bug.cgi?id=41068 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::didCommitLoad): + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::resetProfilesPanel): + * inspector/InspectorFrontend.h: + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel): + (WebInspector.ProfilesPanel.prototype.populateInterface): + (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): + (WebInspector.ProfilesPanel.prototype._reset): + (WebInspector.ProfilesPanel.prototype._clearProfiles): + * inspector/front-end/inspector.js: + (WebInspector.resetProfilesPanel): + +2010-06-23 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: InspectorController should be added only once as ScriptDebugListener to + ScriptDebugServer. + https://bugs.webkit.org/show_bug.cgi?id=41070 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::disconnectFrontend): + (WebCore::InspectorController::enableDebuggerFromFrontend): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): don't call InspectorBackend.enableDebugger if debugger is always enabled, + InspectorController will do this on its side when the front end is connected. + +2010-06-23 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Clear breakpoints before restoring them, not after. + https://bugs.webkit.org/show_bug.cgi?id=41071 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::enableDebuggerFromFrontend): + +2010-06-23 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + Do not render the full frame when there is some elements with fixed positioning + https://bugs.webkit.org/show_bug.cgi?id=33150 + + Do not render the full frame when there is some elements with fixed positioning + https://bugs.webkit.org/show_bug.cgi?id=33150 + + The frame view take into acount the list of fixed object when scrolling + the view. If the number of object is lower than a certain threshold, the pixel + are blitted, and the invalidated area updated. + + * page/FrameView.cpp: + (WebCore::FrameView::addFixedObject): + (WebCore::FrameView::removeFixedObject): + (WebCore::FrameView::scrollContentsFastPath): + * page/FrameView.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::scrollContents): + (WebCore::ScrollView::scrollContentsFastPath): + * platform/ScrollView.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::repaintRectIncludingDescendants): + * rendering/RenderLayer.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::styleWillChange): + +2010-06-23 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Fix displaying of several CPU profiles with the same name. + + https://bugs.webkit.org/show_bug.cgi?id=40992 + + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect): + +2010-06-23 Adam Barth <abarth@webkit.org> + + Unreviewed. clean-header-guards that were made dirty by recent + renames. + + * html/HTMLDocumentParser.h: + * html/HTMLPreloadScanner.h: + * html/HTMLTokenizer.h: + * html/HTMLTreeBuilder.h: + * html/LegacyHTMLDocumentParser.h: + * html/LegacyHTMLTreeBuilder.h: + * html/LegacyPreloadScanner.h: + +2010-06-23 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Rename LegacyHTMLTreeConstructor to LegacyHTMLTreeBuilder + https://bugs.webkit.org/show_bug.cgi?id=41053 + + There was some debate about whether to call this class (and the + non-legacy version) "tree builder" or "tree constructor". Maciej + pointed out that other implementations (including Mozilla and HTML5Lib) + call it a tree builder. The path of least resistance seems to be call + it that for now. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/Document.cpp: + * dom/DocumentParser.h: + (WebCore::DocumentParser::htmlTreeConstructor): + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::htmlTreeConstructor): + * html/HTMLDocumentParser.h: + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::removedFromTree): + * html/HTMLInputElement.cpp: + * html/HTMLMeterElement.cpp: + * html/HTMLProgressElement.cpp: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::legacyTreeConstructor): + * html/LegacyHTMLDocumentParser.cpp: + (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser): + * html/LegacyHTMLDocumentParser.h: + (WebCore::LegacyHTMLDocumentParser::htmlTreeConstructor): + * html/LegacyHTMLTreeBuilder.cpp: Copied from WebCore/html/LegacyHTMLTreeConstructor.cpp. + (WebCore::LegacyHTMLTreeBuilder::LegacyHTMLTreeBuilder): + (WebCore::LegacyHTMLTreeBuilder::~LegacyHTMLTreeBuilder): + (WebCore::LegacyHTMLTreeBuilder::reset): + (WebCore::LegacyHTMLTreeBuilder::setCurrent): + (WebCore::LegacyHTMLTreeBuilder::limitDepth): + (WebCore::LegacyHTMLTreeBuilder::insertNodeAfterLimitDepth): + (WebCore::LegacyHTMLTreeBuilder::parseToken): + (WebCore::LegacyHTMLTreeBuilder::parseDoctypeToken): + (WebCore::LegacyHTMLTreeBuilder::insertNode): + (WebCore::LegacyHTMLTreeBuilder::handleError): + (WebCore::LegacyHTMLTreeBuilder::textCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::commentCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::headCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::bodyCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::framesetCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::formCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::isindexCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::selectCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::ddCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::dtCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::rpCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::rtCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::nestedCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::nestedPCloserCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::nestedStyleCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::tableCellCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::tableSectionCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::noembedCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::noframesCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::noscriptCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::pCloserCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::pCloserStrictCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::mapCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::getNode): + (WebCore::LegacyHTMLTreeBuilder::allowNestedRedundantTag): + (WebCore::LegacyHTMLTreeBuilder::processCloseTag): + (WebCore::LegacyHTMLTreeBuilder::isHeadingTag): + (WebCore::LegacyHTMLTreeBuilder::isInline): + (WebCore::LegacyHTMLTreeBuilder::isResidualStyleTag): + (WebCore::LegacyHTMLTreeBuilder::isAffectedByResidualStyle): + (WebCore::LegacyHTMLTreeBuilder::handleResidualStyleCloseTagAcrossBlocks): + (WebCore::LegacyHTMLTreeBuilder::reopenResidualStyleTags): + (WebCore::LegacyHTMLTreeBuilder::pushBlock): + (WebCore::LegacyHTMLTreeBuilder::popBlock): + (WebCore::LegacyHTMLTreeBuilder::popOneBlockCommon): + (WebCore::LegacyHTMLTreeBuilder::popOneBlock): + (WebCore::LegacyHTMLTreeBuilder::moveOneBlockToStack): + (WebCore::LegacyHTMLTreeBuilder::checkIfHasPElementInScope): + (WebCore::LegacyHTMLTreeBuilder::popInlineBlocks): + (WebCore::LegacyHTMLTreeBuilder::freeBlock): + (WebCore::LegacyHTMLTreeBuilder::createHead): + (WebCore::LegacyHTMLTreeBuilder::handleIsindex): + (WebCore::LegacyHTMLTreeBuilder::startBody): + (WebCore::LegacyHTMLTreeBuilder::finished): + (WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole): + * html/LegacyHTMLTreeBuilder.h: Copied from WebCore/html/LegacyHTMLTreeConstructor.h. + * html/LegacyHTMLTreeConstructor.cpp: Removed. + * html/LegacyHTMLTreeConstructor.h: Removed. + * html/StepRange.cpp: + * html/ValidityState.cpp: + * rendering/RenderSlider.cpp: + +2010-06-23 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Rename the preload scanners + https://bugs.webkit.org/show_bug.cgi?id=41052 + + Renames PreloadScanner to LegacyPreloadScanner because this code is now + off by default. Also, rename HTML5PreloadScanner to + HTMLPreloadScanner. We're not calling it PreloadScanner because we've + factored out the CSSPreloadScanner and the HTMLPreloadScanner from the + original PreloadScanner. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/HTML5PreloadScanner.cpp: Removed. + * html/HTML5PreloadScanner.h: Removed. + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::pumpTokenizer): + * html/HTMLDocumentParser.h: + * html/HTMLPreloadScanner.cpp: Copied from WebCore/html/HTML5PreloadScanner.cpp. + (WebCore::HTMLPreloadScanner::HTMLPreloadScanner): + (WebCore::HTMLPreloadScanner::appendToEnd): + (WebCore::HTMLPreloadScanner::scan): + (WebCore::HTMLPreloadScanner::processToken): + (WebCore::HTMLPreloadScanner::scanningBody): + * html/HTMLPreloadScanner.h: Copied from WebCore/html/HTML5PreloadScanner.h. + * html/LegacyHTMLDocumentParser.cpp: + (WebCore::LegacyHTMLDocumentParser::scriptHandler): + (WebCore::LegacyHTMLDocumentParser::scriptExecution): + * html/LegacyHTMLDocumentParser.h: + * html/LegacyPreloadScanner.cpp: Copied from WebCore/html/PreloadScanner.cpp. + (WebCore::LegacyPreloadScanner::LegacyPreloadScanner): + (WebCore::LegacyPreloadScanner::~LegacyPreloadScanner): + (WebCore::LegacyPreloadScanner::begin): + (WebCore::LegacyPreloadScanner::end): + (WebCore::LegacyPreloadScanner::reset): + (WebCore::LegacyPreloadScanner::scanningBody): + (WebCore::LegacyPreloadScanner::write): + (WebCore::LegacyPreloadScanner::clearLastCharacters): + (WebCore::LegacyPreloadScanner::rememberCharacter): + (WebCore::LegacyPreloadScanner::lastCharactersMatch): + (WebCore::LegacyPreloadScanner::consumeEntity): + (WebCore::LegacyPreloadScanner::tokenize): + (WebCore::LegacyPreloadScanner::processAttribute): + (WebCore::LegacyPreloadScanner::emitCharacter): + (WebCore::LegacyPreloadScanner::tokenizeCSS): + (WebCore::LegacyPreloadScanner::emitTag): + (WebCore::LegacyPreloadScanner::emitCSSRule): + * html/LegacyPreloadScanner.h: Copied from WebCore/html/PreloadScanner.h. + * html/PreloadScanner.cpp: Removed. + * html/PreloadScanner.h: Removed. + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::decodeHTMLEntities): + +2010-06-23 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Yet more HTML5 => HTML renames + https://bugs.webkit.org/show_bug.cgi?id=41051 + + This patch renames HTML5DocumentParser to HTMLDocumentParser and + HTML5TreeBuilder to HTMLTreeBuilder. There was some discussion about + whether to use the name HTMLTreeBuilder or HTMLTreeConstructor, but + tree builder seems to be the dominate name in other implementations. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/DocumentFragment.cpp: + (WebCore::DocumentFragment::parseHTML): + * html/HTML5DocumentParser.cpp: Removed. + * html/HTML5DocumentParser.h: Removed. + * html/HTML5PreloadScanner.cpp: + (WebCore::HTML5PreloadScanner::scan): + (WebCore::HTML5PreloadScanner::processToken): + * html/HTML5TreeBuilder.cpp: Removed. + * html/HTML5TreeBuilder.h: Removed. + * html/HTMLDocument.cpp: + (WebCore::HTMLDocument::createParser): + * html/HTMLDocumentParser.cpp: Copied from WebCore/html/HTML5DocumentParser.cpp. + (WebCore::HTMLDocumentParser::HTMLDocumentParser): + (WebCore::HTMLDocumentParser::~HTMLDocumentParser): + (WebCore::HTMLDocumentParser::begin): + (WebCore::HTMLDocumentParser::stopParsing): + (WebCore::HTMLDocumentParser::processingData): + (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible): + (WebCore::HTMLDocumentParser::isScheduledForResume): + (WebCore::HTMLDocumentParser::resumeParsingAfterYield): + (WebCore::HTMLDocumentParser::runScriptsForPausedTreeConstructor): + (WebCore::HTMLDocumentParser::pumpTokenizer): + (WebCore::HTMLDocumentParser::willPumpLexer): + (WebCore::HTMLDocumentParser::didPumpLexer): + (WebCore::HTMLDocumentParser::write): + (WebCore::HTMLDocumentParser::end): + (WebCore::HTMLDocumentParser::attemptToEnd): + (WebCore::HTMLDocumentParser::endIfDelayed): + (WebCore::HTMLDocumentParser::finish): + (WebCore::HTMLDocumentParser::finishWasCalled): + (WebCore::HTMLDocumentParser::executingScript): + (WebCore::HTMLDocumentParser::inScriptExecution): + (WebCore::HTMLDocumentParser::lineNumber): + (WebCore::HTMLDocumentParser::columnNumber): + (WebCore::HTMLDocumentParser::htmlTreeConstructor): + (WebCore::HTMLDocumentParser::isWaitingForScripts): + (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): + (WebCore::HTMLDocumentParser::watchForLoad): + (WebCore::HTMLDocumentParser::stopWatchingForLoad): + (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc): + (WebCore::HTMLDocumentParser::notifyFinished): + (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets): + (WebCore::HTMLDocumentParser::script): + * html/HTMLDocumentParser.h: Copied from WebCore/html/HTML5DocumentParser.h. + * html/HTMLParserScheduler.cpp: + (WebCore::HTMLParserScheduler::HTMLParserScheduler): + * html/HTMLParserScheduler.h: + * html/HTMLTreeBuilder.cpp: Copied from WebCore/html/HTML5TreeBuilder.cpp. + (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): + (WebCore::HTMLTreeBuilder::~HTMLTreeBuilder): + (WebCore::HTMLTreeBuilder::handleScriptStartTag): + (WebCore::HTMLTreeBuilder::handleScriptEndTag): + (WebCore::HTMLTreeBuilder::takeScriptToProcess): + (WebCore::HTMLTreeBuilder::adjustedLexerState): + (WebCore::HTMLTreeBuilder::passTokenToLegacyParser): + (WebCore::HTMLTreeBuilder::constructTreeFromToken): + (WebCore::HTMLTreeBuilder::processToken): + (WebCore::HTMLTreeBuilder::finished): + (WebCore::HTMLTreeBuilder::isScriptingFlagEnabled): + * html/HTMLTreeBuilder.h: Copied from WebCore/html/HTML5TreeBuilder.h. + +2010-06-23 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + More HTML5 => HTML renames + https://bugs.webkit.org/show_bug.cgi?id=41049 + + This patch renames HTML5ScriptRunner, HTML5ScriptRunnerHost, and + HTML5Token to remove the "5" from their names. These clases aren't + specific to HTML5 and will be used going forward. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/CSSPreloadScanner.cpp: + (WebCore::CSSPreloadScanner::scan): + * html/CSSPreloadScanner.h: + * html/HTML5DocumentParser.cpp: + (WebCore::HTML5DocumentParser::HTML5DocumentParser): + (WebCore::HTML5DocumentParser::notifyFinished): + * html/HTML5DocumentParser.h: + * html/HTML5PreloadScanner.cpp: + (WebCore::HTMLNames::PreloadTask::PreloadTask): + (WebCore::HTMLNames::PreloadTask::processAttributes): + (WebCore::HTML5PreloadScanner::processToken): + * html/HTML5PreloadScanner.h: + * html/HTML5ScriptRunner.cpp: Removed. + * html/HTML5ScriptRunner.h: Removed. + * html/HTML5ScriptRunnerHost.h: Removed. + * html/HTML5Token.h: Removed. + * html/HTML5TreeBuilder.cpp: + (WebCore::convertToOldStyle): + (WebCore::HTML5TreeBuilder::handleScriptEndTag): + (WebCore::HTML5TreeBuilder::passTokenToLegacyParser): + (WebCore::HTML5TreeBuilder::constructTreeFromToken): + (WebCore::HTML5TreeBuilder::processToken): + * html/HTML5TreeBuilder.h: + * html/HTMLScriptRunner.cpp: Copied from WebCore/html/HTML5ScriptRunner.cpp. + (WebCore::HTMLScriptRunner::HTMLScriptRunner): + (WebCore::HTMLScriptRunner::~HTMLScriptRunner): + (WebCore::HTMLScriptRunner::sourceFromPendingScript): + (WebCore::HTMLScriptRunner::isPendingScriptReady): + (WebCore::HTMLScriptRunner::executePendingScript): + (WebCore::HTMLScriptRunner::executeScript): + (WebCore::HTMLScriptRunner::hasScriptsWaitingForLoad): + (WebCore::HTMLScriptRunner::watchForLoad): + (WebCore::HTMLScriptRunner::stopWatchingForLoad): + (WebCore::HTMLScriptRunner::execute): + (WebCore::HTMLScriptRunner::haveParsingBlockingScript): + (WebCore::HTMLScriptRunner::executeParsingBlockingScripts): + (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad): + (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets): + (WebCore::HTMLScriptRunner::requestScript): + (WebCore::HTMLScriptRunner::runScript): + * html/HTMLScriptRunner.h: Copied from WebCore/html/HTML5ScriptRunner.h. + * html/HTMLScriptRunnerHost.h: Copied from WebCore/html/HTML5ScriptRunnerHost.h. + (WebCore::HTMLScriptRunnerHost::~HTMLScriptRunnerHost): + * html/HTMLToken.h: Copied from WebCore/html/HTML5Token.h. + (WebCore::HTMLToken::HTMLToken): + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::nextToken): + (WebCore::HTMLTokenizer::emitCharacter): + (WebCore::HTMLTokenizer::emitCurrentToken): + (WebCore::HTMLTokenizer::shouldEmitBufferedCharacterToken): + * html/HTMLTokenizer.h: + +2010-06-23 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Rename HTML5EntityParser to HTMLEntityParser + https://bugs.webkit.org/show_bug.cgi?id=41048 + + Mostly the result of do-webcore-rename, but I tweaked the header guard + and the name of the free function. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/HTML5EntityParser.cpp: Removed. + * html/HTML5EntityParser.h: Removed. + * html/HTMLEntityParser.cpp: Copied from WebCore/html/HTML5EntityParser.cpp. + (WebCore::consumeHTMLEntity): + * html/HTMLEntityParser.h: Copied from WebCore/html/HTML5EntityParser.h. + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::processEntity): + (WebCore::HTMLTokenizer::nextToken): + +2010-06-22 Yuta Kitamura <yutak@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Add a new class that stores information about WebSocket handshake response. + + In the future, instances of the new class will be passed to the Web Inspector + so that it will be able to display information about WebSocket handshake + response. + + WebSocket: Add WebSocketHandshakeResponse + https://bugs.webkit.org/show_bug.cgi?id=38728 + + Test: websocket/tests/handshake-fail-by-no-cr.html + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * websockets/WebSocketHandshake.cpp: + (WebCore::trimConsoleMessage): + (WebCore::WebSocketHandshake::readServerHandshake): + (WebCore::WebSocketHandshake::serverHandshakeResponse): + (WebCore::WebSocketHandshake::readStatusLine): Moved from extractResponseCode. + Add more error checks and make error messages more descriptive. + (WebCore::WebSocketHandshake::readHTTPHeaders): + (WebCore::WebSocketHandshake::processHeaders): + * websockets/WebSocketHandshake.h: + * websockets/WebSocketHandshakeResponse.cpp: Added. + (WebCore::WebSocketHandshakeResponse::ChallengeResponse::ChallengeResponse): + (WebCore::WebSocketHandshakeResponse::ChallengeResponse::set): + (WebCore::WebSocketHandshakeResponse::WebSocketHandshakeResponse): + (WebCore::WebSocketHandshakeResponse::~WebSocketHandshakeResponse): + (WebCore::WebSocketHandshakeResponse::statusCode): + (WebCore::WebSocketHandshakeResponse::setStatusCode): + (WebCore::WebSocketHandshakeResponse::statusText): + (WebCore::WebSocketHandshakeResponse::setStatusText): + (WebCore::WebSocketHandshakeResponse::headerFields): + (WebCore::WebSocketHandshakeResponse::addHeaderField): + (WebCore::WebSocketHandshakeResponse::clearHeaderFields): + (WebCore::WebSocketHandshakeResponse::challengeResponse): + (WebCore::WebSocketHandshakeResponse::setChallengeResponse): + * websockets/WebSocketHandshakeResponse.h: Added. + +2010-06-23 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Shinichiro Hamaji. + + Implement page format data programming interface. + The final goal is to implement CSS Paged Media Module Level 3 (http://dev.w3.org/csswg/css3-page/). + To begin with, this change adds methods to know: + - if page box is visible, + - the page area rectangle, and + - preferred page size. + + https://bugs.webkit.org/show_bug.cgi?id=37538 + + Test: printing/page-format-data.html + + * WebCore.base.exp: + * css/CSSParser.cpp: + (WebCore::CSSParser::parseSizeParameter): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::applyPageSizeProperty): + (WebCore::CSSStyleSelector::pageSizeFromName): + (WebCore::CSSStyleSelector::mmLength): + (WebCore::CSSStyleSelector::inchLength): + * css/CSSStyleSelector.h: + * css/html.css: + (@page): + * dom/Document.cpp: + (WebCore::Document::isPageBoxVisible): + (WebCore::Document::pageAreaRectInPixels): + (WebCore::Document::preferredPageSizeInPixels): + * dom/Document.h: + * page/PrintContext.cpp: + (WebCore::PrintContext::isPageBoxVisible): + (WebCore::PrintContext::pageAreaRectInPixels): + (WebCore::PrintContext::preferredPageSizeInPixels): + * page/PrintContext.h: + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::pageSize): + (WebCore::InheritedFlags::setPageSize): + * rendering/style/StyleRareNonInheritedData.h: + +2010-06-23 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Rename lexer and m_lexer to tokenizer and m_tokenizer, respectively + https://bugs.webkit.org/show_bug.cgi?id=41046 + + This is a follow up to the recent HTML5Lexer => HTMLTokenizer rename. + + * html/HTML5DocumentParser.cpp: + (WebCore::HTML5DocumentParser::HTML5DocumentParser): + (WebCore::HTML5DocumentParser::begin): + (WebCore::HTML5DocumentParser::pumpLexer): + (WebCore::HTML5DocumentParser::willPumpLexer): + (WebCore::HTML5DocumentParser::didPumpLexer): + (WebCore::HTML5DocumentParser::lineNumber): + (WebCore::HTML5DocumentParser::columnNumber): + * html/HTML5DocumentParser.h: + * html/HTML5PreloadScanner.cpp: + (WebCore::HTML5PreloadScanner::scan): + (WebCore::HTML5PreloadScanner::processToken): + * html/HTML5PreloadScanner.h: + * html/HTML5TreeBuilder.cpp: + (WebCore::HTML5TreeBuilder::HTML5TreeBuilder): + (WebCore::HTML5TreeBuilder::handleScriptStartTag): + (WebCore::HTML5TreeBuilder::passTokenToLegacyParser): + * html/HTML5TreeBuilder.h: + * html/HTMLTokenizer.h: + * html/LegacyHTMLDocumentParser.h: + +2010-06-23 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Eric Seidel. + + Reproducible crash in com.apple.WebCore 0x01ed3784 WebCore::RenderLineBoxList::appendLineBox(WebCore::InlineFlowBox*) + 36 + https://bugs.webkit.org/show_bug.cgi?id=40953 + + REGRESSION (r58209-58231): Memory corruption with invalid SVG + https://bugs.webkit.org/show_bug.cgi?id=40173 + + Fix several crashes, all related to <foreignObject> and/or invalid SVG documents. + - Only allow <svg> nodes, as direct children of a <foreignObject>, not any other "partial" SVG content. + - Assure to create RenderSVGRoot objects for <svg> nodes in <foreignObject>, treat them as "outermost SVG elements". + - Never allow any partial SVG content to appear in any document. Only <svg> elements are allowed. + + Tests: svg/custom/bug45331.svg + svg/foreignObject/disallowed-svg-nodes-as-direct-children.svg + svg/foreignObject/no-crash-with-svg-content-in-html-document.svg + svg/foreignObject/svg-document-as-direct-child.svg + svg/foreignObject/svg-document-in-html-document.svg + svg/foreignObject/text-tref-02-b.svg + + * dom/Element.cpp: Added childShouldCreateRenderer, with ENABLE(SVG) guards. + (WebCore::Element::childShouldCreateRenderer): Only create a renderer for a SVG child, if we're a SVG element, or if the child is a <svg> element. + * dom/Element.h: Added childShouldCreateRenderer, with ENABLE(SVG) guards. + * svg/SVGForeignObjectElement.cpp: + (WebCore::SVGForeignObjectElement::childShouldCreateRenderer): Disallow arbitary SVG content, only <svg> elements are allowed as direct children of a <foreignObject> + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::isOutermostSVG): Be sure to create RenderSVGRoot objects for <svg> elements inside <foreignObject> + +2010-06-22 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Rename HTML5Lexer to HTMLTokenizer + https://bugs.webkit.org/show_bug.cgi?id=41045 + + This might be slightly confusing given that the old class was called + HTMLTokenizer, but it matches the terminology in the HTML5 spec. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/HTML5DocumentParser.cpp: + (WebCore::HTML5DocumentParser::HTML5DocumentParser): + (WebCore::HTML5DocumentParser::pumpLexer): + * html/HTML5DocumentParser.h: + * html/HTML5Lexer.cpp: Removed. + * html/HTML5Lexer.h: Removed. + * html/HTML5PreloadScanner.cpp: + (WebCore::HTML5PreloadScanner::processToken): + * html/HTML5PreloadScanner.h: + * html/HTML5TreeBuilder.cpp: + (WebCore::HTML5TreeBuilder::HTML5TreeBuilder): + (WebCore::HTML5TreeBuilder::handleScriptStartTag): + (WebCore::HTML5TreeBuilder::adjustedLexerState): + * html/HTML5TreeBuilder.h: + * html/HTMLTokenizer.cpp: Copied from WebCore/html/HTML5Lexer.cpp. + (WebCore::HTMLNames::isEndTagBufferingState): + (WebCore::HTMLTokenizer::HTMLTokenizer): + (WebCore::HTMLTokenizer::~HTMLTokenizer): + (WebCore::HTMLTokenizer::reset): + (WebCore::HTMLTokenizer::processEntity): + (WebCore::HTMLTokenizer::nextToken): + (WebCore::HTMLTokenizer::temporaryBufferIs): + (WebCore::HTMLTokenizer::addToPossibleEndTag): + (WebCore::HTMLTokenizer::isAppropriateEndTag): + (WebCore::HTMLTokenizer::emitCharacter): + (WebCore::HTMLTokenizer::emitCodePoint): + (WebCore::HTMLTokenizer::emitParseError): + (WebCore::HTMLTokenizer::emitCurrentToken): + (WebCore::HTMLTokenizer::shouldEmitBufferedCharacterToken): + * html/HTMLTokenizer.h: Copied from WebCore/html/HTML5Lexer.h. + +2010-06-22 Simon Hausmann <simon.hausmann@nokia.com> + + Unreviewed Qt/Symbian build fix. + + Fix "make clean" to not try to execute clean commands for + the extra targets we use to simulate "make install". + + * WebCore.pro: Use no_clean in CONFIG of extra compilers. + +2010-06-22 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Run clean-header-guards to fix some header guards + https://bugs.webkit.org/show_bug.cgi?id=41044 + + No functional changes, thus no tests. + + This entire change was generated by running + clean-header-guards, and then reverting changes + to files which shouldn't be changed. Those which + are left all should be updated. + + Some of these changes are just fixing 755 permissions + to be 644, since it seems various files have the wrong + execute bit which don't need it. clean-header-guards + made those (welcome) permission fixes unintentionally. + + * bindings/v8/custom/V8HTMLAudioElementConstructor.h: + * bindings/v8/custom/V8HTMLImageElementConstructor.h: + * bindings/v8/custom/V8HTMLOptionElementConstructor.h: + * dom/Touch.h: + * dom/TouchList.h: + * dom/XMLDocumentParser.h: + * dom/XMLDocumentParserScope.h: + * html/HTML5DocumentParser.h: + * html/LegacyHTMLTreeConstructor.h: + * loader/CrossOriginPreflightResultCache.h: + * page/OriginAccessEntry.h: + * page/win/FrameWin.h: + * platform/ThreadTimers.h: + * platform/chromium/KeyboardCodes.h: + * platform/graphics/chromium/FontPlatformDataChromiumWin.h: + * platform/graphics/chromium/FontUtilsChromiumWin.h: + * platform/graphics/filters/FEBlend.h: + * platform/graphics/filters/FEColorMatrix.h: + * platform/graphics/filters/FEComponentTransfer.h: + * platform/graphics/filters/FEComposite.h: + * platform/graphics/gstreamer/DataSourceGStreamer.h: + * platform/graphics/gstreamer/VideoSinkGStreamer.h: + - I checked, this crazy define was not referenced + anywhere else. It's safe to change the name. :) + * platform/graphics/haiku/FontPlatformData.h: + * platform/graphics/qt/FontCustomPlatformData.h: + * platform/graphics/skia/SkiaFontWin.h: + * platform/graphics/win/GraphicsLayerCACF.h: + * platform/graphics/win/QTMovieWinTimer.h: + * platform/graphics/win/RefCountedGDIHandle.h: + * platform/graphics/win/WebLayer.h: + * platform/graphics/win/WebTiledLayer.h: + * platform/graphics/wince/FontPlatformData.h: + * platform/graphics/wx/FontPlatformData.h: + * platform/network/CredentialStorage.h: + * platform/network/cf/FormDataStreamCFNet.h: + * platform/network/curl/FormDataStreamCurl.h: + * platform/network/qt/DnsPrefetchHelper.h: + * platform/network/qt/QNetworkReplyHandler.h: + * platform/win/PlatformScrollBar.h: + * plugins/PluginDatabase.h: + * plugins/PluginPackage.h: + * plugins/PluginStream.h: + * plugins/qt/PluginContainerQt.h: + * plugins/symbian/npinterface.h: + * rendering/RenderSelectionInfo.h: + * rendering/SVGRenderSupport.h: + * storage/IDBObjectStoreImpl.h: + * svg/animation/SMILTimeContainer.h: + * wml/WMLErrorHandling.h: + +2010-06-22 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Rename HTMLDocumentParser to LegacyHTMLDocumentParser + https://bugs.webkit.org/show_bug.cgi?id=41043 + + As requested by Darin Adler. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::checkLoaded): + * dom/Document.cpp: + (WebCore::Document::write): + * dom/DocumentFragment.cpp: + * dom/DocumentParser.h: + (WebCore::DocumentParser::asHTMLDocumentParser): + * dom/XMLDocumentParserLibxml2.cpp: + * dom/XMLDocumentParserQt.cpp: + * html/HTML5Lexer.h: + (WebCore::HTML5Lexer::columnNumber): + * html/HTML5TreeBuilder.cpp: + * html/HTMLDocument.cpp: + (WebCore::HTMLDocument::createParser): + * html/HTMLDocumentParser.cpp: Removed. + * html/HTMLDocumentParser.h: Removed. + * html/HTMLFormControlElement.cpp: + * html/HTMLParserScheduler.cpp: + (WebCore::parserChunkSize): + * html/HTMLViewSourceDocument.cpp: + (WebCore::HTMLViewSourceDocument::createParser): + (WebCore::HTMLViewSourceDocument::addViewSourceToken): + * html/HTMLViewSourceDocument.h: + * html/LegacyHTMLDocumentParser.cpp: Copied from WebCore/html/HTMLDocumentParser.cpp. + (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser): + (WebCore::LegacyHTMLDocumentParser::reset): + (WebCore::LegacyHTMLDocumentParser::begin): + (WebCore::LegacyHTMLDocumentParser::setForceSynchronous): + (WebCore::LegacyHTMLDocumentParser::processListing): + (WebCore::LegacyHTMLDocumentParser::parseNonHTMLText): + (WebCore::LegacyHTMLDocumentParser::scriptHandler): + (WebCore::LegacyHTMLDocumentParser::scriptExecution): + (WebCore::LegacyHTMLDocumentParser::parseComment): + (WebCore::LegacyHTMLDocumentParser::parseServer): + (WebCore::LegacyHTMLDocumentParser::parseProcessingInstruction): + (WebCore::LegacyHTMLDocumentParser::parseText): + (WebCore::LegacyHTMLDocumentParser::parseEntity): + (WebCore::LegacyHTMLDocumentParser::parseDoctype): + (WebCore::LegacyHTMLDocumentParser::parseTag): + (WebCore::LegacyHTMLDocumentParser::continueProcessing): + (WebCore::LegacyHTMLDocumentParser::advance): + (WebCore::LegacyHTMLDocumentParser::willWriteHTML): + (WebCore::LegacyHTMLDocumentParser::didWriteHTML): + (WebCore::LegacyHTMLDocumentParser::write): + (WebCore::LegacyHTMLDocumentParser::stopParsing): + (WebCore::LegacyHTMLDocumentParser::processingData): + (WebCore::LegacyHTMLDocumentParser::timerFired): + (WebCore::LegacyHTMLDocumentParser::end): + (WebCore::LegacyHTMLDocumentParser::finish): + (WebCore::LegacyHTMLDocumentParser::finishWasCalled): + (WebCore::LegacyHTMLDocumentParser::processToken): + (WebCore::LegacyHTMLDocumentParser::processDoctypeToken): + (WebCore::LegacyHTMLDocumentParser::~LegacyHTMLDocumentParser): + (WebCore::LegacyHTMLDocumentParser::enlargeBuffer): + (WebCore::LegacyHTMLDocumentParser::enlargeScriptBuffer): + (WebCore::LegacyHTMLDocumentParser::executeScriptsWaitingForStylesheets): + (WebCore::LegacyHTMLDocumentParser::notifyFinished): + (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsIfReady): + (WebCore::LegacyHTMLDocumentParser::executeExternalScriptsTimerFired): + (WebCore::LegacyHTMLDocumentParser::continueExecutingExternalScripts): + (WebCore::LegacyHTMLDocumentParser::isWaitingForScripts): + (WebCore::LegacyHTMLDocumentParser::setSrc): + (WebCore::parseLegacyHTMLDocumentFragment): + * html/LegacyHTMLDocumentParser.h: Copied from WebCore/html/HTMLDocumentParser.h. + (WebCore::LegacyHTMLDocumentParser::asHTMLDocumentParser): + * html/LegacyHTMLTreeConstructor.cpp: + (WebCore::LegacyHTMLTreeConstructor::reportErrorToConsole): + * html/LegacyHTMLTreeConstructor.h: + * loader/FTPDirectoryDocument.cpp: + (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser): + (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate): + (WebCore::FTPDirectoryDocumentParser::finish): + * page/XSSAuditor.h: + +2010-06-22 Shinichiro Hamaji <hamaji@chromium.org> + + Unreviewed attempt to fix the windows build. + + Split out HTML5DocumentParser yield/resume logic into a separate class + https://bugs.webkit.org/show_bug.cgi?id=41018 + + * WebCore.vcproj/WebCore.vcproj: + +2010-06-22 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Split out HTML5DocumentParser yield/resume logic into a separate class + https://bugs.webkit.org/show_bug.cgi?id=41018 + + The HTML5DocumentParser is just the coordinator, and shouldn't have + any real parsing logic of his own. Continuing along that path, I'm + moving the when-to-yield/resume logic out into a separate class. + + I could have create a new HTMLParserSchedulerHost virtual interface + to allow the HTMLParserScheduler to talk back to the + HTML5DocumentParser, but instead I just exposed the one method it + needs (resumeParsing()) as a public method. Since no code besides + HTMLDocument (and DocumentFrament) ever should know about the + HTML5DocumentParser DocumentParser subclass, no class should ever + see the resumeParsing() method anyway. + + Most of this change is just moving code from HTML5DocumentParser + to the new HTMLParserScheduler. + + Some of this change is wrapping previous direct access to + m_continueNextChunkTimer.isActive() with isScheduledForResume(). + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * html/HTML5DocumentParser.cpp: + (WebCore::HTML5DocumentParser::HTML5DocumentParser): + (WebCore::HTML5DocumentParser::stopParsing): + (WebCore::HTML5DocumentParser::processingData): + (WebCore::HTML5DocumentParser::pumpLexerIfPossible): + (WebCore::HTML5DocumentParser::isScheduledForResume): + (WebCore::HTML5DocumentParser::resumeParsing): + (WebCore::HTML5DocumentParser::pumpLexer): + (WebCore::HTML5DocumentParser::end): + (WebCore::HTML5DocumentParser::attemptToEnd): + (WebCore::HTML5DocumentParser::endIfDelayed): + * html/HTML5DocumentParser.h: + (WebCore::HTML5DocumentParser::document): + - Exposed for HTMLParserScheduler. + * html/HTMLParserScheduler.cpp: Added. + (WebCore::parserTimeLimit): Moved from HTML5DocumentParser. + (WebCore::parserChunkSize): ditto. + (WebCore::HTMLParserScheduler::HTMLParserScheduler): + (WebCore::HTMLParserScheduler::~HTMLParserScheduler): + (WebCore::isLayoutTimerActive): + (WebCore::HTMLParserScheduler::continueNextChunkTimerFired): + - Moved from HTML5DocumentParser. + * html/HTMLParserScheduler.h: Added. + (WebCore::HTMLParserScheduler::PumpSession::PumpSession): + - Moved from HTML5DocumentParser. + (WebCore::HTMLParserScheduler::shouldContinueParsing): + (WebCore::HTMLParserScheduler::isScheduledForResume): + +2010-06-22 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: move nodeByPath from InjectedScript to InspectorBackend. + + https://bugs.webkit.org/show_bug.cgi?id=40988 + + * inspector/InjectedScriptHost.cpp: + * inspector/InjectedScriptHost.h: + * inspector/InjectedScriptHost.idl: + * inspector/InspectorBackend.cpp: + (WebCore::InspectorBackend::pushNodeByPathToFrontend): + * inspector/InspectorBackend.h: + * inspector/InspectorBackend.idl: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend): + (WebCore::InspectorDOMAgent::nodeForPath): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::didPushNodeByPathToFrontend): + * inspector/InspectorFrontend.h: + * inspector/front-end/DOMAgent.js: + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.setDocument): + * inspector/front-end/InjectedScript.js: + * inspector/front-end/InjectedScriptAccess.js: + +2010-06-22 David Levin <levin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + REGRESSION: (r47291): Upload progress events are not fired for simple cross-site XHR. + https://bugs.webkit.org/show_bug.cgi?id=39029 + + Specifically, WebKit should fire upload events if one or more event listeners are + registered on the XMLHttpRequestUpload object when send is called in an async manner. + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::createRequest): Allow upload events to be fired when there are + handlers for them in the cross-origin simple request case. + +2010-06-22 Kent Tamura <tkent@chromium.org> + + Reviewed by Adam Barth. + + Fix uninitialized SubframeLoader::m_containsPlugins + https://bugs.webkit.org/show_bug.cgi?id=41035 + + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::SubframeLoader): + Initialize m_containsPlugins with false. + +2010-06-22 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by Adam Barth. + + Add BlobBuilder.idl to expose BlobBuilder interface + https://bugs.webkit.org/show_bug.cgi?id=40593 + + (Resubmitting with the correct file set.) + + BlobBuilder is defined in FileAPI's FileWriter spec. + (http://dev.w3.org/2009/dap/file-system/file-writer.html) + + Also removes the ENABLE_FILE_WRITER ifdef guard for BlobBuilder. + + Tests: http/tests/local/blob/send-data-blob.html + http/tests/local/blob/send-hybrid-blob.html + http/tests/local/blob/send-sliced-data-blob.html + + * 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: + * html/BlobBuilder.cpp: + (WebCore::BlobBuilder::append): + * html/BlobBuilder.h: + * html/BlobBuilder.idl: Added. + * page/DOMWindow.idl: + +2010-06-22 Kent Tamura <tkent@chromium.org> + + Unreviewed, build fix for r61648. + + * platform/graphics/GraphicsContext3D.h: + +2010-06-22 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Kent Tamura. + + Define GraphicsContext3D::platformLayer() for all remaining (non PLATFORM(MAC)) + ports to get RenderLayerBacking.cpp compiling again. + https://bugs.webkit.org/show_bug.cgi?id=41026 + + * platform/graphics/GraphicsContext3D.h: + (WebCore::GraphicsContext3D::platformLayer): + +2010-06-22 Eric Seidel <eric@webkit.org> + + Unreviewed. Rolling out http://trac.webkit.org/changeset/61638 + made a few tests crash. + + Make PendingScript hold a CachedResourceClient open for its lifetime + https://bugs.webkit.org/show_bug.cgi?id=40968 + + * html/HTML5DocumentParser.cpp: + (WebCore::HTML5DocumentParser::watchForLoad): + (WebCore::HTML5DocumentParser::notifyFinished): + * html/HTML5ScriptRunner.cpp: + (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner): + (WebCore::HTML5ScriptRunner::sourceFromPendingScript): + (WebCore::HTML5ScriptRunner::isPendingScriptReady): + (WebCore::HTML5ScriptRunner::executePendingScript): + (WebCore::HTML5ScriptRunner::hasScriptsWaitingForLoad): + (WebCore::HTML5ScriptRunner::watchForLoad): + (WebCore::HTML5ScriptRunner::stopWatchingForLoad): + (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad): + (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets): + (WebCore::HTML5ScriptRunner::requestScript): + * html/HTML5ScriptRunner.h: + (WebCore::HTML5ScriptRunner::PendingScript::): + (WebCore::HTML5ScriptRunner::PendingScript::PendingScript): + (WebCore::HTML5ScriptRunner::PendingScript::watchingForLoad): + * html/HTML5ScriptRunnerHost.h: + +2010-06-22 Adele Peterson <adele@apple.com> + + Reviewed by Darin Adler. + + Fix for Crash when the renderer for the button in <input type="number"> goes away during event handling + https://bugs.webkit.org/show_bug.cgi?id=41013 + + Test: fast/forms/input-number-crash.html + + * rendering/TextControlInnerElements.cpp: (WebCore::SpinButtonElement::defaultEventHandler): + Nil check the RenderBox since its possible the renderer has gone away during event handling. + +2010-06-22 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Eric Seidel. + + Pull script line number from DocumentParser instead of pushing it to ScriptController + https://bugs.webkit.org/show_bug.cgi?id=40649 + + This approach is cleaner and improves WebCore/benchmarks/parser/html-parser.html by ~2%. + + Tests: fast/js/script-line-number.html + + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::ScriptController): + (WebCore::ScriptController::eventHandlerLineNumber): + * bindings/js/ScriptController.h: + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::eventHandlerLineNumber): + (WebCore::ScriptController::eventHandlerColumnNumber): + * bindings/v8/ScriptController.h: + * bindings/v8/ScriptEventListener.cpp: + (WebCore::createAttributeEventListener): + * bindings/v8/V8Proxy.h: + * dom/XMLDocumentParserLibxml2.cpp: + (WebCore::XMLDocumentParser::startElementNs): + * html/HTML5DocumentParser.cpp: + (WebCore::HTML5DocumentParser::pumpLexer): + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::processToken): + +2010-06-22 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Eric Seidel. + + Make PendingScript hold a CachedResourceClient open for its lifetime + https://bugs.webkit.org/show_bug.cgi?id=40968 + + This replaces the mechanism introduced in r61374 with a simpler + approach from preventing unexpected purges; always keep a client open. + This will approach will allow deferred scripts to add a client after + the resource may have already been loaded without having to worry about + the buffer being purged in the meantime. + + No new tests because making a CachedResource purge itself is not + testable from a LayoutTest. + + * html/HTML5DocumentParser.cpp: + (WebCore::HTML5DocumentParser::watchForLoad): + (WebCore::HTML5DocumentParser::notifyFinished): + * html/HTML5ScriptRunner.cpp: + (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner): + (WebCore::HTML5ScriptRunner::sourceFromPendingScript): + (WebCore::HTML5ScriptRunner::isPendingScriptReady): + (WebCore::HTML5ScriptRunner::executePendingScript): + (WebCore::HTML5ScriptRunner::watchForLoad): + (WebCore::HTML5ScriptRunner::stopWatchingForLoad): + (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad): + (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets): + (WebCore::HTML5ScriptRunner::requestScript): + * html/HTML5ScriptRunner.h: + (WebCore::HTML5ScriptRunner::PendingScript::PendingScript): + (WebCore::HTML5ScriptRunner::PendingScript::~PendingScript): + (WebCore::HTML5ScriptRunner::PendingScript::setCachedScript): + (WebCore::HTML5ScriptRunner::PendingScript::cachedScript): + (WebCore::HTML5ScriptRunner::PendingScript::notifyFinished): + * html/HTML5ScriptRunnerHost.h: + +2010-06-22 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Fragment parsing needs to go through the HTML5 Parser code path + https://bugs.webkit.org/show_bug.cgi?id=40645 + + Added a new HTML5DocumentParser::parseHTMLDocumentFragment + codepath which optionally calls through to the old fragment + parsing path, now renamed parseLegacyHTMLDocumentFragment. + + * dom/Element.cpp: + (WebCore::Element::createContextualFragment): + - Use document()->createDocumentFragment() instead + of DocumentFragment::create() to match other callers + (and not depend on DocumentFragment.h). + - Update call to parseHTMLDocumentFragment to use the new + HTML5 parser codepath. + * dom/MappedAttributeEntry.h: + - Add a FIXME about this horrible enum placement. + Sadly this will cause a world-rebuild for everyone. + * html/HTML5DocumentParser.cpp: + (WebCore::HTML5DocumentParser::HTML5DocumentParser): + (WebCore::HTML5DocumentParser::runScriptsForPausedTreeConstructor): + - The main pumpLexer function has gotten to large. Move the script + running logic into this new function. + - Handle the case where we have no m_scriptRunner (fragment case). + (WebCore::HTML5DocumentParser::pumpLexer): + - Use new runScriptsForPausedTreeConstructor(). + (WebCore::HTML5DocumentParser::executingScript): + (WebCore::HTML5DocumentParser::inScriptExecution): + - New function to handle the case where m_scriptRunner is null. + (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution): + - Use inScriptExecution() instead of m_scriptRunner->inScriptExecution(). + (WebCore::HTML5DocumentParser::executeScript): ditto. + (WebCore::HTML5DocumentParser::notifyFinished): ditto. + (WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets): ditto. + (WebCore::shouldUseLegacyParser): + - Helper function to check the html5ParserEnabled() setting. + (WebCore::HTML5DocumentParser::parseHTMLDocumentFragment): + - Run HTML5DocumentParser in fragment mode, or optionally run + the legacy parser if !html5ParserEnabled(). + * html/HTML5DocumentParser.h: + * html/HTML5TreeBuilder.cpp: + (WebCore::HTML5TreeBuilder::HTML5TreeBuilder): + (WebCore::HTML5TreeBuilder::passTokenToLegacyParser): + - Implement the FragmentScriptingNotAllowed hack for platform/Pasteboard. + * html/HTML5TreeBuilder.h: + * html/HTMLDocumentParser.cpp: + (WebCore::parseLegacyHTMLDocumentFragment): + - Renamed from parseHTMLDocumentFragment + * html/HTMLDocumentParser.h: + * html/HTMLElement.cpp: + (WebCore::HTMLElement::insertAdjacentHTML): + - Call HTML5DocumentParser::parseHTMLDocumentFragment. + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::documentFragment): ditto. + * xml/XSLTProcessor.cpp: + (WebCore::createFragmentFromSource): ditto. + +2010-06-22 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=40643 + + Final phase of moving ownership of WebGLLayer to GraphicsContext3D. + As it turns out, I still have to have a separate CGLContextObj for + rendering because Core Animation composites in a separate thread, + so we need to disconnect WebGL rendering from CA compositing. But + this change is still worthwhile because it reduces dependencies + and makes it easier to port WebGL to other platforms. + + No new tests since this is just restructuring and the current tests + are all still valid and do a sufficient test of WebGL functionality. + + * platform/graphics/GraphicsContext3D.h: + (WebCore::GraphicsContext3D::platformLayer): + * platform/graphics/GraphicsLayer.h: + (WebCore::GraphicsLayer::setContentsToWebGL): + (WebCore::GraphicsLayer::setWebGLNeedsDisplay): + * platform/graphics/mac/GraphicsContext3DMac.mm: Add creation of WebGLLayer + (WebCore::GraphicsContext3D::GraphicsContext3D): + * platform/graphics/mac/GraphicsLayerCA.h: + (WebCore::GraphicsLayerCA::): + * platform/graphics/mac/GraphicsLayerCA.mm: Handle setting of WebGLLayer as content the same as for MediaLayer. Also changed WebGL related names for clarity + (WebCore::GraphicsLayerCA::GraphicsLayerCA): + (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): + (WebCore::GraphicsLayerCA::updateContentsWebGLLayer): + (WebCore::GraphicsLayerCA::setContentsToWebGL): + (WebCore::GraphicsLayerCA::setWebGLNeedsDisplay): + * platform/graphics/mac/WebGLLayer.h: + * platform/graphics/mac/WebGLLayer.mm: Got rid of storage for context and texture, now just store GraphicsContext3D and get them from there when needed + (-[WebGLLayer copyCGLPixelFormatForDisplayMask:]): + (-[WebGLLayer copyCGLContextForPixelFormat:]): + (-[WebGLLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]): + (-[WebGLLayer copyImageSnapshotWithColorSpace:]): + * rendering/RenderLayerBacking.cpp: Changed init of WebGL contentsLayer to pass WebGLLayer rather than GraphicsContext3D + (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): + (WebCore::RenderLayerBacking::rendererContentChanged): + +2010-06-22 Darin Adler <darin@apple.com> + + Reviewed by Dave Hyatt. + + * html/HTMLTableCellElement.cpp: + (WebCore::HTMLTableCellElement::parseMappedAttribute): Removed incorrect FIXME comments. + +2010-06-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/8119403> REGRESSION (r61548): PLT is almost 1.5% slower, Google page cycler slower + https://bugs.webkit.org/show_bug.cgi?id=41012 + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeHorizontalPositionsForLine): Removed a redundant statement that was + left over in the original patch and resulted in double the calls to RenderText::width() here. + (WebCore::RenderBlock::findNextLineBreak): Changed the order of evaluating conditions for a + potential speedup. + +2010-06-22 Darin Adler <darin@apple.com> + + Reviewed by Alexey Proskuryakov. + + Alexey asked me to take out the autorelease pools because he believes + that there is no code that should be running using Objective-C + autorelease. Most likely, the code that is triggering these stderr + messages is incorrect, and that bug should be fixed instead. + + * workers/WorkerRunLoop.cpp: + (WebCore::WorkerRunLoop::run): Roll out use of AutodrainedPool. + +2010-06-22 Darin Adler <darin@apple.com> + + Reviewed by Brady Eidson. + + Fix autorelease problem seen when running worker regression tests. + We were seeing logs to stderr saying autorelease was used without + an autorelease pool being set up. + + * workers/WorkerRunLoop.cpp: + (WebCore::WorkerRunLoop::run): Use an AutodrainedPool as the file + thread, icon database, and database thread do. No effect on platforms + other than Mac. + +2010-06-22 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: If an element that is a continuation is removed, its parent tree is not notified appropriately that their children have changed + https://bugs.webkit.org/show_bug.cgi?id=41000 + + Test: accessibility/removed-continuation-element-causes-crash.html + + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::updateChildrenIfNecessary): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::childrenChanged): + (WebCore::AccessibilityRenderObject::addChildren): + * accessibility/AccessibilityRenderObject.h: + +2010-06-22 Peter Kasting <pkasting@google.com> + + Reviewed by Adam Barth. + + Override setFailed() in each image decoder to clean up any temporary + objects. + https://bugs.webkit.org/show_bug.cgi?id=35411 + + In a few cases, we need to be careful to avoid deleting objects until + after they're no longer needed. These cases usually mean some jumping + through hoops, to the detriment of code simplicity. + + No layout tests because this does not change the visible output of + decoding in any way. + + * platform/image-decoders/ImageDecoder.h: + (WebCore::ImageDecoder::setData): + * platform/image-decoders/bmp/BMPImageDecoder.cpp: + (WebCore::BMPImageDecoder::setFailed): + (WebCore::BMPImageDecoder::decode): + * platform/image-decoders/bmp/BMPImageDecoder.h: + * platform/image-decoders/bmp/BMPImageReader.cpp: + (WebCore::BMPImageReader::decodeBMP): + (WebCore::BMPImageReader::readInfoHeaderSize): + (WebCore::BMPImageReader::processInfoHeader): + (WebCore::BMPImageReader::readInfoHeader): + (WebCore::BMPImageReader::processBitmasks): + (WebCore::BMPImageReader::processColorTable): + (WebCore::BMPImageReader::processRLEData): + (WebCore::BMPImageReader::processNonRLEData): + * platform/image-decoders/bmp/BMPImageReader.h: + (WebCore::BMPImageReader::): + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::setFailed): + (WebCore::GIFImageDecoder::decode): + * platform/image-decoders/gif/GIFImageDecoder.h: + * platform/image-decoders/ico/ICOImageDecoder.cpp: + (WebCore::ICOImageDecoder::setFailed): + (WebCore::ICOImageDecoder::decode): + * platform/image-decoders/ico/ICOImageDecoder.h: + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: + (WebCore::JPEGImageReader::decode): + (WebCore::JPEGImageDecoder::setFailed): + (WebCore::JPEGImageDecoder::decode): + * platform/image-decoders/jpeg/JPEGImageDecoder.h: + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::PNGImageReader::decode): + (WebCore::PNGImageDecoder::PNGImageDecoder): + (WebCore::PNGImageDecoder::setFailed): + (WebCore::PNGImageDecoder::headerAvailable): + (WebCore::PNGImageDecoder::decode): + * platform/image-decoders/png/PNGImageDecoder.h: + +2010-06-04 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Remove side effects of form submission and prepare FormDataBuilder for splitting up. + https://bugs.webkit.org/show_bug.cgi?id=40184 + + Refactoring, covered by existing tests. + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::prepareFormSubmission): + * Changed to use new accessors on FormDataBuilder; + * Simplified the logic around action URL; + * Removed form submission side effect of element's enctype property being updated when + submitting a mailto form; + * Removed unnecessary updating of action URL for mailto forms. + (WebCore::HTMLFormElement::submit): Moved action URL check into prepareFormSubmission. + (WebCore::HTMLFormElement::parseMappedAttribute): Updated to use new methods on FormDataBuilder. + * html/HTMLFormElement.h: Removed decls for isMailtoForm and dataEncoding methods; + moved m_target and m_url to FormDataBuilder. + * platform/network/FormData.cpp: + (WebCore::FormData::appendDOMFormData): Removed unnecessary instantiation of FormDataBuilder. + * platform/network/FormDataBuilder.cpp: + (WebCore::FormDataBuilder::parseAction): Moved from HTMLFormControl. + * platform/network/FormDataBuilder.h: + (WebCore::FormDataBuilder::action): Ditto. + (WebCore::FormDataBuilder::target): Ditto. + (WebCore::FormDataBuilder::setTarget): Ditto. + +2010-06-22 Yuta Kitamura <yutak@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Fix WebSocketHandshakeRequest so that it fits the new handshake protocol. + + The new WebSocket specification (draft 76 and later) allows a browser to + send header fields in arbitrary order. Thus we can use a HTTPHeaderMap to + store header fields instead of Vector of pairs of a field name and + a field value. + + This patch also does refactoring of WebSocketHandshakeRequest class + to make it simpler and easier to use. + + Fix WebSocketHandshakeRequest so that it fits the new handshake protocol + https://bugs.webkit.org/show_bug.cgi?id=39864 + + No new tests, because there is no functional change. + + * websockets/WebSocketHandshake.cpp: + (WebCore::WebSocketHandshake::clientHandshakeRequest): + * websockets/WebSocketHandshakeRequest.cpp: + (WebCore::WebSocketHandshakeRequest::Key3::Key3): + (WebCore::WebSocketHandshakeRequest::Key3::set): + (WebCore::WebSocketHandshakeRequest::WebSocketHandshakeRequest): + (WebCore::WebSocketHandshakeRequest::requestMethod): + (WebCore::WebSocketHandshakeRequest::url): + (WebCore::WebSocketHandshakeRequest::addHeaderField): + (WebCore::WebSocketHandshakeRequest::headerFields): + (WebCore::WebSocketHandshakeRequest::key3): + (WebCore::WebSocketHandshakeRequest::setKey3): + * websockets/WebSocketHandshakeRequest.h: + +2010-06-20 MORITA Hajime <morrita@google.com> + + Reviewed by Kent Tamura. + + <meter> should be yellow when min < value < low < optimum + https://bugs.webkit.org/show_bug.cgi?id=40824 + + Fixed a wrong conditional on HTMLMeterElement::gaugeRegion(). + + * html/HTMLMeterElement.cpp: + (WebCore::HTMLMeterElement::gaugeRegion): + + Tests: fast/dom/HTMLMeterElement/meter-appearances-capacity.html + fast/dom/HTMLMeterElement/meter-optimums.html + +2010-06-22 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Follow the HTML5 spec more closely w.r.t. when to save the insertion point + https://bugs.webkit.org/show_bug.cgi?id=40976 + + The spec always increments the nesting level and saves the insertion + point at the same time. In this patch, we now do those operations + packaged as a RAII. + + As a side effect, the test case below no longer ASSERTs. (The output + is wrong, but we'll get to that next.) + + Test: fast/tokenizer/write-on-load.html + + * html/HTML5ScriptRunner.cpp: + (WebCore::NestScript::NestScript): + (WebCore::NestScript::~NestScript): + (WebCore::HTML5ScriptRunner::executePendingScript): + (WebCore::HTML5ScriptRunner::executeScript): + (WebCore::HTML5ScriptRunner::requestScript): + (WebCore::HTML5ScriptRunner::runScript): + * html/HTMLInputStream.h: + +2010-06-22 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Expose HTMLInputStream to ScriptRunner so that ScriptRunner can save the insertion point itself + https://bugs.webkit.org/show_bug.cgi?id=40975 + + This saves us having to call back into the HTML5DocumentParser each + time we need to save the insertion point. This prepares us for another + place we need to save the insertion point. + + * html/HTML5DocumentParser.cpp: + * html/HTML5DocumentParser.h: + (WebCore::HTML5DocumentParser::inputStream): + * html/HTML5ScriptRunner.cpp: + (WebCore::HTML5ScriptRunner::executeScript): + (WebCore::HTML5ScriptRunner::requestScript): + * html/HTML5ScriptRunnerHost.h: + +2010-06-22 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Move HTMLInputStream to its own file + https://bugs.webkit.org/show_bug.cgi?id=40974 + + No new tests, just code motion. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/HTML5DocumentParser.h: + +2010-06-21 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Save the insertion point before beforeload events + https://bugs.webkit.org/show_bug.cgi?id=40973 + + We need to save the insertion point before dispatching the beforeload + event in case someone decides to document.write during beforeload. + Prior to this patch, such writes would pump the lexer too much and + tokenize the rest of the document before executing the script. + + * html/HTML5DocumentParser.cpp: + (WebCore::HTML5DocumentParser::dispatchBeforeLoad): + * html/HTML5DocumentParser.h: + * html/HTML5ScriptRunner.cpp: + (WebCore::HTML5ScriptRunner::requestScript): + * html/HTML5ScriptRunnerHost.h: + +2010-06-21 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + document.write from BeforeLoad should not assert + https://bugs.webkit.org/show_bug.cgi?id=40971 + + We're setting the parse blocking script too early. It's not actually + blocking parsing yet. + + Test: fast/tokenizer/write-before-load.html + + * html/HTML5ScriptRunner.cpp: + (WebCore::HTML5ScriptRunner::requestScript): + +2010-06-21 Chris Fleizach <cfleizach@apple.com> + + No review. QT build fix again. + + AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded + https://bugs.webkit.org/show_bug.cgi?id=40927 + + * accessibility/AXObjectCache.h: + (WebCore::AXObjectCache::postNotification): + +2010-06-21 Chris Fleizach <cfleizach@apple.com> + + No review. QT build fix. + + AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded + https://bugs.webkit.org/show_bug.cgi?id=40927 + + * accessibility/AXObjectCache.h: + (WebCore::AXObjectCache::postNotification): + +2010-06-21 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded + https://bugs.webkit.org/show_bug.cgi?id=40927 + + Test: platform/mac/accessibility/aria-expanded-notifications.html + + * accessibility/AXObjectCache.cpp: + (WebCore::AXObjectCache::handleAriaExpandedChange): + * accessibility/AXObjectCache.h: + (WebCore::AXObjectCache::handleAriaExpandedChange): + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::handleAriaExpandedChanged): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::handleAriaExpandedChanged): + * accessibility/AccessibilityRenderObject.h: + * accessibility/mac/AXObjectCacheMac.mm: + (WebCore::AXObjectCache::postPlatformNotification): + * dom/Element.cpp: + (WebCore::Element::updateAfterAttributeChanged): + +2010-06-21 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r61585. + http://trac.webkit.org/changeset/61585 + https://bugs.webkit.org/show_bug.cgi?id=40950 + + It broke builds (Requested by kinuko on #webkit). + + * Android.derived.jscbindings.mk: + * Android.derived.v8bindings.mk: + * CMakeLists.txt: + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/BlobBuilder.cpp: + (WebCore::BlobBuilder::appendString): + (WebCore::BlobBuilder::appendBlob): + * html/BlobBuilder.h: + * page/DOMWindow.idl: + +2010-06-21 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by Adam Barth. + + Add BlobBuilder.idl to expose BlobBuilder interface + https://bugs.webkit.org/show_bug.cgi?id=40593 + + BlobBuilder is defined in FileAPI's FileWriter spec. + (http://dev.w3.org/2009/dap/file-system/file-writer.html) + + Also removes the ENABLE_FILE_WRITER ifdef guard for BlobBuilder. + + Tests: http/tests/local/blob/send-data-blob.html + http/tests/local/blob/send-hybrid-blob.html + http/tests/local/blob/send-sliced-data-blob.html + + * 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: + * html/BlobBuilder.cpp: + (WebCore::BlobBuilder::append): + * html/BlobBuilder.h: + * html/BlobBuilder.idl: Added. + * page/DOMWindow.idl: + +2010-06-21 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + FrameLoader cleanup: Split high level subframe and plugin + loading functions into a separate class. + https://bugs.webkit.org/show_bug.cgi?id=40453 + + Refactor only, no new tests. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.base.exp: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/DOMImplementation.cpp: + * history/PageCache.cpp: + * html/HTMLFrameElementBase.cpp: + * html/HTMLMediaElement.cpp: + * loader/FrameLoader.cpp: + * loader/FrameLoader.h: + (WebCore::FrameLoader::subframeLoader): + * loader/PluginDocument.cpp: + * loader/SubframeLoader.cpp: Added. + (WebCore::SubframeLoader::SubframeLoader): + (WebCore::toPlugInElement): + (WebCore::SubframeLoader::clear): + (WebCore::SubframeLoader::requestFrame): + (WebCore::SubframeLoader::requestObject): + (WebCore::FrameLoader::loadMediaPlayerProxyPlugin): + (WebCore::SubframeLoader::createJavaAppletWidget): + (WebCore::SubframeLoader::loadSubframe): + (WebCore::SubframeLoader::allowPlugins): + (WebCore::SubframeLoader::shouldUsePlugin): + (WebCore::SubframeLoader::loadPlugin): + (WebCore::SubframeLoader::completeURL): + * loader/SubframeLoader.h: Added. + (WebCore::SubframeLoader::containsPlugins): + * page/Page.cpp: + * page/XSSAuditor.h: + * platform/graphics/wince/MediaPlayerProxy.cpp: + * plugins/MimeType.cpp: + * rendering/RenderApplet.cpp: + * rendering/RenderEmbeddedObject.cpp: + +2010-06-21 Nate Chapin <japhet@chromium.org> + + Unreviewed, build fix. + + Bad merge, left a reference to m_committedFirstRealDocumentLoad in + http://trac.webkit.org/changeset/61568. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::transitionToCommitted): + +2010-06-21 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Remove a couple of FrameLoader's unused boolean members + (m_receivedData, m_cancellingWithLoadInProcess) and merge + several more into a single state machine called FrameLoaderStateMachine + (m_firstLayoutDone, m_creatingInitialEmptyDocument, + m_isDisplayingInitialEmptyDocument, m_committedFirstRealDocumentLoad). + + https://bugs.webkit.org/show_bug.cgi?id=39695 + + Refactor only, so no new tests. + + * WebCore.base.exp: + * WebCore.xcodeproj/project.pbxproj: + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::createDocument): + (WebCore::DocumentWriter::begin): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::FrameLoader): + (WebCore::FrameLoader::init): + (WebCore::FrameLoader::stopLoading): + (WebCore::FrameLoader::didOpenURL): + (WebCore::FrameLoader::didExplicitOpen): + (WebCore::FrameLoader::clear): + (WebCore::FrameLoader::didBeginDocument): + (WebCore::FrameLoader::finishedParsing): + (WebCore::FrameLoader::provisionalLoadStarted): + (WebCore::FrameLoader::logCanCachePageDecision): + (WebCore::FrameLoader::logCanCacheFrameDecision): + (WebCore::FrameLoader::frameHasLoaded): + (WebCore::FrameLoader::commitProvisionalLoad): + (WebCore::FrameLoader::transitionToCommitted): + (WebCore::FrameLoader::finishedLoadingDocument): + (WebCore::FrameLoader::checkLoadCompleteForThisFrame): + (WebCore::FrameLoader::didFirstLayout): + (WebCore::FrameLoader::frameLoadCompleted): + (WebCore::FrameLoader::dispatchDidCommitLoad): + * loader/FrameLoader.h: + (WebCore::FrameLoader::stateMachine): + * loader/FrameLoaderStateMachine.cpp: Added. + * loader/FrameLoaderStateMachine.h: Added. + * loader/HistoryController.cpp: + (WebCore::HistoryController::restoreScrollPositionAndViewState): + (WebCore::HistoryController::saveDocumentState): + * loader/ProgressTracker.cpp: + (WebCore::ProgressTracker::incrementProgress): + * loader/RedirectScheduler.cpp: + (WebCore::RedirectScheduler::scheduleLocationChange): + (WebCore::RedirectScheduler::scheduleFormSubmission): + +2010-06-21 Kevin Ollivier <kevino@theolliviers.com> + + [wx] Build fix. Fix header includes for ENABLE(DATABASE) + + * bindings/js/JSExceptionBase.cpp: + +2010-06-21 Anders Carlsson <andersca@apple.com> + + Fix clang++ build. + + * loader/FormSubmission.h: + +2010-06-21 Dimitri Glazkov <dglazkov@chromium.org> + + Unreviewed, build fix. + + Add a missing include in AsyncImageResizer.h + + * html/AsyncImageResizer.h: Added the IntSize include. + +2010-06-21 Adam Roben <aroben@apple.com> + + Call NotifyAddrChange again each time we are notified of a change + + NotifyAddrChange only notifies you of a single change. If you want to + listen for subsequent changes, you have to call it again. + + Fixes <http://webkit.org/b/33004> NetworkStateNotifier ignores all + state changes after the first. + + No test possible, as we don't have a way to modify the system's + network adapters when running tests. + + Reviewed by Anders Carlsson. + + * platform/network/win/NetworkStateNotifierWin.cpp: + (WebCore::NetworkStateNotifier::addrChangeCallback): Call + registerForAddressChange as soon as we're notified of an address + change, so we'll also get notified of the *next* address change. I + added the call here instead of in addressChanged (which is called + later on the main thread) to minimize the time between the callback + and registering again (so that we won't miss changes that happen in + rapid succession). + +2010-06-21 Dan Bernstein <mitz@apple.com> + + Release build fix + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::tryHyphenating): + +2010-06-21 Dan Bernstein <mitz@apple.com> + + Windows build fix + + * WebCore.vcproj/WebCore.vcproj: Fixed a typo. + +2010-06-21 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + CSS3: Implement the 'hyphens' and 'hyphenate-character' properties + https://bugs.webkit.org/show_bug.cgi?id=10228 + + Tests: fast/text/hyphenate-character.html + fast/text/hyphens.html + + Added -webkit-hyphens and -webkit-hyphenate-character as specified in + <http://www.w3.org/TR/2010/WD-css3-gcpm-20100608/#hyphenation>. + + * Android.mk: Added Hyphenation.cpp. + * CMakeLists.txt: Ditto. + * GNUmakefile.am: Added Hyphenation.{cpp,h}. + * WebCore.base.exp: Exported wkGetHyphenationLocationBeforeIndex(). + * WebCore.gypi: Added Hyphenation.{cpp,h}. + * WebCore.pro: Added Hyphenation.{cpp,h}. + * WebCore.vcproj/WebCore.vcproj: Added Hyphenation.{cpp,h}. + * WebCore.xcodeproj/project.pbxproj: Added Hyphenation.{cpp,h}. + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added the -webkit-hyphenate-character + and -webkit-hyphens cases. + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): Validate values for the new properties. + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added. Maps from a Hyphens value to an identifier. + (WebCore::CSSPrimitiveValue::operator Hyphens): Added. Maps from an identifier to a Hyphens value. + * css/CSSPropertyNames.in: Added -webkit-hyphenate-character and -webkit-hyphens. + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): Apply the new properties to the RenderStyle. + * css/CSSValueKeywords.in: + * platform/mac/WebCoreSystemInterface.h: Added wkGetHyphenationLocationBeforeIndex. + * platform/mac/WebCoreSystemInterface.mm: Ditto. + * platform/text/CharacterNames.h: Added the hyphen character. + * platform/text/Hyphenation.cpp: Added. + (WebCore::lastHyphenLocation): Added this default implementation for platforms that do not implement + hyphenation yet. It calls notImplemented() and returns 0. + * platform/text/Hyphenation.h: Added. + * platform/text/cf/HyphenationCF.cpp: Added. + (WebCore::lastHyphenLocation): Returns the last hyphenation location occurring in the given string before + the given index. Uses the current search locale (which is based on the top language preference of the user) + for hyphenation. + * platform/text/mac/HyphenationMac.mm: Added. + (WebCore::lastHyphenLocation): Returns the last hyphenation location occurring in the given string before + the given index. Returns 0 if the current search locale is not "en", because the platform only knows how to + hyphenate English. + * rendering/BidiRun.h: + (WebCore::BidiRun::BidiRun): Added a boolean member, m_hasHyphen, and initialized it to false in the constructor. + * rendering/InlineBox.h: + (WebCore::InlineBox::InlineBox): Renamed m_hasEllipsisBox to m_hasEllipsisBoxOrHyphen, because this bit is now + shared by two subclass: RootInlineBox uses it for hasEllipsisBox(), while InlineTextBox uses it for hasHyphen(). + * rendering/InlineTextBox.cpp: + (WebCore::adjustCharactersAndLengthForHyphen): Added this helper function to get the hyphen string from the style + and return a UChar* and length for the concatenation of the given text with the hyphen string. + (WebCore::InlineTextBox::selectionRect): If the selected range touches the end and the box has a hyphen, + compute the width of the text with the hyphen string concatenated to it. + (WebCore::InlineTextBox::paint): If the box has a hyphen, draw the text with the hyphen string concatenated to it. + (WebCore::InlineTextBox::paintSelection): Similarly concatenate the hyphen string. + * rendering/InlineTextBox.h: + (WebCore::InlineTextBox::hasHyphen): Added this accessor. + (WebCore::InlineTextBox::setHasHyphen): Ditto. + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::constructLine): Copy the m_hasHyphen flag from the run to its text box. + (WebCore::RenderBlock::computeHorizontalPositionsForLine): Add the width of the hyphen string when computing the + width of a box that has a hyphen. + (WebCore::RenderBlock::layoutInlineChildren): If the line was hyphenated, set the m_hasHyphen flag on the + logically last run. + (WebCore::tryHyphenating): Added this helper function which checks if a piece of text that does not fit on the + line could be hyphenated such that the part before the hyphen, including the hyphen, would fit. Given the amount + of space remaining on the line, it finds the longest prefix that can fit in the remaining space (which leaving room for + the hyphen), and then checks for a hyphenation location within that prefix. + (WebCore::RenderBlock::findNextLineBreak): In the 'hyphens: none' case, prevent line breaks at soft hyphens. + In the 'hyphens: auto' case, try hyphenating when a word will not fit in the remaining space on the line. + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::detachEllipsisBox): Changed to use hasEllipsisBox() and setHasEllipsisBox(). + (WebCore::RootInlineBox::clearTruncation): Ditto. + (WebCore::RootInlineBox::placeEllipsis): Ditto. + (WebCore::RootInlineBox::paintEllipsisBox): Ditto. + (WebCore::RootInlineBox::nodeAtPoint): Ditto. + (WebCore::RootInlineBox::ellipsisBox): Ditto. + * rendering/RootInlineBox.h: + (WebCore::RootInlineBox::hasEllipsisBox): Added this accessor. + (WebCore::RootInlineBox::setHasEllipsisBox): Ditto. + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): Return a layout hint if the hyphens setting or hyphenate-character differs. + (WebCore::RenderStyle::hyphenString): Added. For hyphenate-character: auto, returns the hyphen character. + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::hyphens): Added this accessor. + (WebCore::InheritedFlags::hyphenateCharacter): Ditto. + (WebCore::InheritedFlags::setHyphens): Ditto. + (WebCore::InheritedFlags::setHyphenateCharacter): Ditto. + (WebCore::InheritedFlags::initialHyphens): Added. Returns HyphensManual. + (WebCore::InheritedFlags::initialHyphenateCharacter): Added. Returns the null string, corresponding to + a value of 'auto'. + * rendering/style/RenderStyleConstants.h: + Added a Hyphens enum. + * rendering/style/StyleRareInheritedData.cpp: + (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize and copy the new members. + (WebCore::StyleRareInheritedData::operator==): Compare the new members. + * rendering/style/StyleRareInheritedData.h: Added two new members: hyphens and hyphenateCharacter. + +2010-06-03 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Plumb FormSubmission through to ScheduledFormSubmission. + https://bugs.webkit.org/show_bug.cgi?id=40137 + + No behavior change, covered by existing tests. + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::prepareFormSubmission): Moved creation of action URL + instance here from FrameLoader::submit, because it makes more sense here, + also added a FIXME to investigate existing code later. + * loader/FormSubmission.cpp: + (WebCore::FormSubmission::FormSubmission): Changed action to be a KURL, not a String. + (WebCore::FormSubmission::create): Ditto. + (WebCore::FormSubmission::populateFrameLoadRequest): Added, moving the logic from + FrameLoader::submit closer to the data. + * loader/FormSubmission.h: + (WebCore::FormSubmission::action): Changed type to KURL. + (WebCore::FormSubmission::clearTarget): Added. + (WebCore::FormSubmission::referrer): Added. + (WebCore::FormSubmission::setReferrer): Added. + (WebCore::FormSubmission::origin): Added. + (WebCore::FormSubmission::setOrigin): Added. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::submitForm): Cleaned up to make it more about decision-making, + not data manipulation. + * loader/RedirectScheduler.cpp: + (WebCore::ScheduledFormSubmission::ScheduledFormSubmission): Changed to accept FormSubmission as argument. + (WebCore::ScheduledFormSubmission::fire): Changed to use FormSubmission. + (WebCore::RedirectScheduler::scheduleFormSubmission): Removed assert that no longer makes sense, + changed to use FormSubmission. + * loader/RedirectScheduler.h: Updated ScheduledFormSubmission decl to hold FormSubmission ref. + +2010-06-21 Satish Sampath <satish@chromium.org> + + Reviewed by Steve Block. + + Speech Input Patch 0: Added compilation argument to conditionally compile pending patches. + https://bugs.webkit.org/show_bug.cgi?id=40878 + + No new tests are needed, because there is no new functionality. + + * Configurations/FeatureDefines.xcconfig: + * GNUmakefile.am: + * WebCore.pri: + +2010-06-21 Hans Wennborg <hans@chromium.org> + + Reviewed by Jeremy Orlow. + + Delete DOM storage databases when they are empty. + https://bugs.webkit.org/show_bug.cgi?id=40767 + + Even if a page clears its local storage, the database file for it stays around, + and there is currently no mechanism that deletes them. + + After doing the "final sync" of a storage area, the StorageAreaSyncMaster should + see if the database is empty, and in that case delete it. + + Tests: + manual-tests/localstorage-empty-database.html + + * manual-tests/localstorage-empty-database.html: + Added link to clear local storage for testing that the file is removed. + * storage/LocalStorageTask.cpp: + (WebCore::LocalStorageTask::LocalStorageTask): + Added local storage task type DeleteEmptyDatabase. + (WebCore::LocalStorageTask::performTask): + Ditto. + * storage/LocalStorageTask.h: + (WebCore::LocalStorageTask::): + Ditto. + (WebCore::LocalStorageTask::createDeleteEmptyDatabase): + Ditto. + * storage/StorageAreaSync.cpp: + (WebCore::StorageAreaSync::scheduleFinalSync): + When scheduling final sync, also schedule DeleteEmptyDatabase. + (WebCore::StorageAreaSync::sync): + Return early if final sync has nothing to sync. + (WebCore::StorageAreaSync::deleteEmptyDatabase): + Added function to check if a database is empty and in that case delete it. + * storage/StorageAreaSync.h: + Ditto. + * storage/StorageSyncManager.cpp: + (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase): + Added function for scheduling DeleteEmptyDatabase task. + * storage/StorageSyncManager.h: + Ditto. + +2010-06-21 Balazs Kelemen <kb@inf.u-szeged.hu> + + Reviewed by Simon Hausmann. + + [Qt] Avoid unnecessary image conversion in RGBA32Buffer::zeroFill() + https://bugs.webkit.org/show_bug.cgi?id=40910 + + * platform/image-decoders/qt/RGBA32BufferQt.cpp: + (WebCore::RGBA32Buffer::zeroFill): + +2010-06-21 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Decode images directly to QPixmap + https://bugs.webkit.org/show_bug.cgi?id=40797 + + Decode images to QPixmap directly instead of QImage when possible. + RGBA32Buffer transforms the pixmap back to image if + necessary. + + This improve the performance with certain graphic system, and + can reduce memory usage. + + * platform/graphics/qt/ImageDecoderQt.cpp: + (WebCore::ImageDecoderQt::setData): + (WebCore::ImageDecoderQt::internalHandleCurrentImage): + * platform/image-decoders/ImageDecoder.h: + (WebCore::RGBA32Buffer::getAddr): + * platform/image-decoders/qt/RGBA32BufferQt.cpp: + (WebCore::RGBA32Buffer::clear): + (WebCore::RGBA32Buffer::zeroFill): + (WebCore::RGBA32Buffer::copyBitmapData): + (WebCore::RGBA32Buffer::setSize): + (WebCore::RGBA32Buffer::asNewNativeImage): + (WebCore::RGBA32Buffer::setPixmap): + +2010-06-20 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Adam Barth. + + Adding the SQLException class which will be used to report sync DB errors. + https://bugs.webkit.org/show_bug.cgi?id=40607 + + * Android.derived.jscbindings.mk: + * Android.derived.v8bindings.mk: + * CMakeLists.txt: + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMBinding.cpp: + (WebCore::setDOMException): + * bindings/js/JSExceptionBase.cpp: + (WebCore::toExceptionBase): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::setDOMException): + * bindings/v8/V8Proxy.h: + * dom/ExceptionCode.cpp: + (WebCore::): + (WebCore::getExceptionCodeDescription): + * dom/ExceptionCode.h: + (WebCore::): + * page/DOMWindow.idl: + * storage/SQLException.h: Added. + (WebCore::SQLException::create): + (WebCore::SQLException::): + (WebCore::SQLException::SQLException): + * storage/SQLException.idl: Added. + +2010-06-20 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + [v8] Web Inspector: don't add ScriptDebugServer as v8 listener if browser exposes + v8 debugging protocol. + https://bugs.webkit.org/show_bug.cgi?id=40844 + + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::ScriptDebugServer): + (WebCore::ScriptDebugServer::addListener): + (WebCore::ScriptDebugServer::setEnabled): + (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled): + * bindings/v8/ScriptDebugServer.h: + +2010-06-20 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Unreviewed build fix. + + [EFL] Build break for r61527 + https://bugs.webkit.org/post_bug.cgi + + * CMakeLists.txt: Add loader/FormSubmission.cpp + +2010-06-20 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Remove bogus const qualifiers. + + * platform/mac/PasteboardHelper.h: + +2010-06-20 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Kent Tamura. + + Buildfix for NotificationCenter.h. + https://bugs.webkit.org/show_bug.cgi?id=40890 + + ScriptExecutionContext::completeURL is used in header, + but ScriptExecutionContext.h wasn't included. + + * notifications/NotificationCenter.h: + +2010-06-20 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Eric Seidel. + + Recognize async attribute on HTML script tags. + https://bugs.webkit.org/show_bug.cgi?id=39026 + + This does not implement async behavior, it only parses the async + attribute for HTML script tags. SVG script tags continue to not + support the async attribute. + + Tests: fast/dom/HTMLScriptElement/script-async-attr.html + svg/dom/SVGScriptElement/script-async-attr.svg + + * dom/ScriptElement.cpp: + (WebCore::ScriptElementData::isAsynchronous): + (WebCore::ScriptElementData::isDeferred): + * dom/ScriptElement.h: + * html/HTMLAttributeNames.in: + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::async): + (WebCore::HTMLScriptElement::setAsync): + (WebCore::HTMLScriptElement::defer): + (WebCore::HTMLScriptElement::asyncAttributeValue): + (WebCore::HTMLScriptElement::deferAttributeValue): + * html/HTMLScriptElement.h: + * html/HTMLScriptElement.idl: + * svg/SVGScriptElement.cpp: + (WebCore::SVGScriptElement::asyncAttributeValue): + (WebCore::SVGScriptElement::deferAttributeValue): + * svg/SVGScriptElement.h: + +2010-06-20 Nikita Vasilyev <me@elv1s.ru> + + Reviewed by Joseph Pecoraro. + + Web Inspector: Auto-completion for CSS property names in Styles pane + https://bugs.webkit.org/show_bug.cgi?id=17374 + + Added autocompletion for CSS properties. A suggestion for a property + shows when you type. You can also cycle through known property names + using the Up and Down arrow keys. + + * WebCore.gypi: + * inspector/front-end/CSSCompletions.js: Added. + (WebInspector.CSSCompletions): + (WebInspector.CSSCompletions.startsWith): + (WebInspector.CSSCompletions.firstStartsWith): + (WebInspector.CSSCompletions._firstIndexOfPrefix): + (WebInspector.CSSCompletions.next): + (WebInspector.CSSCompletions.previous): + (WebInspector.CSSCompletions._closest): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + * inspector/front-end/utilities.js: + (Text.prototype.select): + (): + +2010-06-14 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Introduce FormSubmission, the structure representing a form submission. + https://bugs.webkit.org/show_bug.cgi?id=40084 + + No change in functionality, covered by existing tests. + + * GNUmakefile.am: Added FormSubmission.h/cpp. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::prepareFormSubmission): Renamed prepareFormData to prepareFormSubmission, + added code for populating a FormSubmission instance, moved the loop of accumulating text input + values into this functions (it belongs here logically). + (WebCore::HTMLFormElement::submit): Modified to use prepareFormSubmission. + * html/HTMLFormElement.h: + * loader/FormSubmission.cpp: Added. + * loader/FormSubmission.h: Added. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::submitForm): Modified to use FormSubmission. Stopped plumbing further to keep + the patch size down. + * loader/FrameLoader.h: Modified submitForm signature. + +2010-06-20 Joseph Pecoraro <joepeck@webkit.org> + + Unreviewed rollout r61506, because it made 1 test crash. + + Causes crash. Will approach the solution in a different way. + +2010-06-20 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Should Autocomplete Style Properties + https://bugs.webkit.org/show_bug.cgi?id=38448 + + This Autocompletes style properties when in the console. + + * inspector/front-end/InjectedScript.js: + (injectedScriptConstructor): + +2010-06-20 Robert Hogan <robert@webkit.org> + + Reviewed by Simon Hausmann. + + [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved + + https://bugs.webkit.org/show_bug.cgi?id=36702 + + setNPWindowIfNeeded() is called on paint() in PluginViewQt, which doesn't + work for DRT. So call it if we are in DRT mode and the window geometry + has changed. + + Unskips plugins/reentrant-update-widget-positions.html + + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::updatePluginWidget): + +2010-06-19 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Adam Barth. + + Persist V8's ScriptData to the memory cache. + https://bugs.webkit.org/show_bug.cgi?id=38661 + + This stores V8's ScriptData in the memory cache and also causes the + network platform layer to be notified of the available cacheable + metadata. + + Chromium's morejs benchmark showed a ~7% improvement when this was + originally submitted (before it had to be rolled back). + + Test: fast/js/parser-high-byte-character.html + + * bindings/v8/ScriptSourceCode.h: + (WebCore::ScriptSourceCode::ScriptSourceCode): + (WebCore::ScriptSourceCode::cachedScript): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::compileScript): + (WebCore::V8Proxy::precompileScript): + (WebCore::V8Proxy::evaluate): + * bindings/v8/V8Proxy.h: + +2010-06-19 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Kent Tamura. + + [BREWMP] Port SocketStream + https://bugs.webkit.org/show_bug.cgi?id=39671 + + Port SocketStream with BREW MP's ISocket interface. + + * platform/network/brew/SocketStreamError.h: Added. + (WebCore::SocketStreamError::SocketStreamError): + * platform/network/brew/SocketStreamHandle.h: Added. + (WebCore::SocketStreamHandle::create): + * platform/network/brew/SocketStreamHandleBrew.cpp: Added. + (WebCore::socketStreamConnectCallback): + (WebCore::getHostByNameCallback): + (WebCore::socketReadableCallback): + (WebCore::networkManager): + (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate): + (WebCore::SocketStreamHandlePrivate::~SocketStreamHandlePrivate): + (WebCore::SocketStreamHandlePrivate::socketConnected): + (WebCore::SocketStreamHandlePrivate::socketReadyRead): + (WebCore::SocketStreamHandlePrivate::connect): + (WebCore::SocketStreamHandlePrivate::send): + (WebCore::SocketStreamHandlePrivate::close): + (WebCore::SocketStreamHandlePrivate::socketClosed): + (WebCore::SocketStreamHandlePrivate::socketError): + (WebCore::SocketStreamHandle::SocketStreamHandle): + (WebCore::SocketStreamHandle::~SocketStreamHandle): + (WebCore::SocketStreamHandle::platformSend): + (WebCore::SocketStreamHandle::platformClose): + (WebCore::SocketStreamHandle::didReceiveAuthenticationChallenge): + (WebCore::SocketStreamHandle::receivedCredential): + (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential): + (WebCore::SocketStreamHandle::receivedCancellation): + * platform/network/brew/SocketStreamHandlePrivate.h: Added. + +2010-06-19 Nikita Vasilyev <me@elv1s.ru> + + Reviewed by Pavel Feldman. + + Web Inspector: Prevent from copying "filename.css" in Styles pane + https://bugs.webkit.org/show_bug.cgi?id=40420 + + * inspector/front-end/Section.js: + (WebInspector.Section.prototype.set subtitle): + (WebInspector.Section.prototype.get subtitleAsText): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertiesSection): + * inspector/front-end/inspector.css: + (.styles-section .subtitle::before, .styles-section .subtitle a::before): + +2010-06-19 Alex Milowski <alex@milowski.com> + + Reviewed by Darin Adler. + + A fix for a change in https://bugs.webkit.org/show_bug.cgi?id=39941 + that caused a compile error in MathML. + https://bugs.webkit.org/show_bug.cgi?id=40827 + + * mathml/MathMLElement.cpp: + (WebCore::MathMLElement::MathMLElement): + +2010-06-19 Kartikaya Gupta <kagupta@rim.com> + + Reviewed by Nikolas Zimmermann. + + CPP bindings missing some APIs + https://bugs.webkit.org/show_bug.cgi?id=40570 + + Add missing C++ DOM API bindings. Specifically: + - NodeFilter callback support + - Missing custom method implementations in HTMLCollection and HTMLOptionsCollection + - Missing EventTarget static type-determination methods + - Fix CPP binding generator to not generate d-ptrs for classes that extend EventTarget and just use the parent's d-ptr instead + - Switch binding generator to use DOMWindow instead of AbstractView so that necessary W3C-defined methods (e.g. getComputedStyle) are accessible. + + * bindings/cpp/WebDOMDOMWindowCustom.cpp: Added. + (WebDOMDOMWindow::addEventListener): + (WebDOMDOMWindow::removeEventListener): + * bindings/cpp/WebDOMEventTarget.cpp: + (toWebKit): + * bindings/cpp/WebDOMEventTarget.h: + * bindings/cpp/WebDOMHTMLCollectionCustom.cpp: Added. + (WebDOMHTMLCollection::item): + (WebDOMHTMLCollection::namedItem): + * bindings/cpp/WebDOMHTMLOptionsCollectionCustom.cpp: Added. + (WebDOMHTMLOptionsCollection::length): + (WebDOMHTMLOptionsCollection::setLength): + * bindings/cpp/WebDOMNodeFilterCustom.cpp: Added. + (WebDOMNodeFilter::acceptNode): + (toWebKit): + * bindings/cpp/WebNativeNodeFilterCondition.cpp: Added. + (WebNativeNodeFilterCondition::WebNativeNodeFilterCondition): + (WebNativeNodeFilterCondition::~WebNativeNodeFilterCondition): + (WebNativeNodeFilterCondition::acceptNode): + * bindings/cpp/WebNativeNodeFilterCondition.h: Added. + (WebNativeNodeFilterCondition::create): + * bindings/scripts/CodeGeneratorCPP.pm: + * dom/NodeFilter.idl: + * page/DOMWindow.idl: + +2010-06-19 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Dimitri Glazkov. + + [chromium] Adding a conditional gyp dependency for the WebCore target to + the gles2_c_lib which is required by the gpu compositor. The dependency will + only kick in if the accelerated_compositing path is enabled. + https://bugs.webkit.org/show_bug.cgi?id=40801 + + * WebCore.gyp/WebCore.gyp: + +2010-06-19 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Platform plugin's multi-select does not take OptGroup into account + https://bugs.webkit.org/show_bug.cgi?id=40718 + + In multi-select elements, optgroup elements are counted in the index calculation, + but in single-select they are not. Keep the same logic even when NO_LISTBOX_RENDERING + is enabled. + Added tests to the existing manual test, as testing this requires a special build, in which + NO_LISTBOX_RENDERING is enabled. + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::listBoxSelectItem): + * manual-tests/no-listbox-rendering.html: + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::listBoxSelectItem): + +2010-06-19 Thomas Van Lenten <thomasvl@chromium.org> + + Reviewed by David Levin. + + Warnings from -Wextra in a Chromium Mac build + 1. checks of unsigned >= 0 + 2. enumeral and non-enumeral type in conditional expression + 3. copy ctors that don't call the super copy ctor or ctor + No functionality change so no new tests. + + https://bugs.webkit.org/show_bug.cgi?id=40791 + + * platform/chromium/ChromiumDataObject.cpp: + (WebCore::ChromiumDataObject::ChromiumDataObject): + * platform/chromium/ThemeChromiumMac.mm: + (WebCore::updateStates): + * rendering/RenderThemeChromiumMac.mm: + (WebCore::RenderThemeChromiumMac::updateActiveState): + +2010-06-19 Ben Murdoch <benm@google.com> + + Reviewed by Pavel Feldman. + + Fix build break with inspector disabled. + https://bugs.webkit.org/show_bug.cgi?id=40790 + + Replace a #include with a forward declaration. + + Fixing a build break so no new tests required. + + * inspector/InspectorController.h: Forward declare InspectorValue + rather than #including its header which has its content guarded + out. + +2010-06-19 Zhe Su <suzhe@chromium.org> + + Reviewed by Darin Fisher. + + [chromium]Refactor input method related APIs. + https://bugs.webkit.org/show_bug.cgi?id=40608 + + No new tests are needed, because there is no new functionality. + + * page/FocusController.cpp: + (WebCore::FocusController::setFocusedNode): + +2010-06-19 George Wright <gwright@rim.com> + + Reviewed by George Staikos. + + https://bugs.webkit.org/show_bug.cgi?id=40720 + + Make setWapInputFormat() public again as CSSStyleSelector.cpp calls this when WCSS is enabled. + + * html/HTMLInputElement.h: + (WebCore::HTMLInputElement::data): + +2010-06-02 Robert Hogan <robert@webkit.org> + + Reviewed by Adam Barth. + + [Qt] Support evaluateScriptInIsolatedWorld() + + https://bugs.webkit.org/show_bug.cgi?id=40079 + + getOwnPropertyNames() crashes if PropertyNameArray is size 0. This change allows + http/tests/world-reuse.html and didClearWindowObject.html to fail instead of crash. + + * WebCore.pro: Add qwebscriptworld.* + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertValueToQVariant): + +2010-06-19 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Eric Seidel. + + Some very minor cleanups for HTML5 Parser + https://bugs.webkit.org/show_bug.cgi?id=40638 + + No new tests because no new functionality. + + * html/HTML5DocumentParser.cpp: + (WebCore::): Make ctor explicit. + * html/HTML5DocumentParser.h: + (WebCore::HTML5DocumentParser::InsertionPointRecord::InsertionPointRecord): Make ctor explicit. + * html/HTML5Lexer.cpp: + (WebCore::HTMLNames::isEndTagBufferingState): Use switch to generate an efficient table with single branch. + * html/HTML5Token.h: + (WebCore::HTML5Token::forceQuirks): Add const. + * html/HTML5TreeBuilder.h: + (WebCore::HTML5TreeBuilder::isPaused): Add const. + +2010-06-18 Aaron Boodman <aa@chromium.org> + + Remove WebKit::WebDocument::isXHTMLDocument. + https://bugs.webkit.org/show_bug.cgi?id=40815 + + * dom/Document.h: remove isXHTML() getter. + +2010-06-19 Aaron Boodman <aa@chromium.org> + + Unreviewed, rolling out r61466. + http://trac.webkit.org/changeset/61466 + https://bugs.webkit.org/show_bug.cgi?id=40816 + + Landed wrong change + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::initContextIfNeeded): + * bindings/v8/V8DOMWindowShell.h: + +2010-06-18 Aaron Boodman <aa@chromium.org> + + WebKit API: Undo static hooks into V8 when WebKit is shut down. + https://bugs.webkit.org/show_bug.cgi?id=40816 + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::initContextIfNeeded): + (WebCore::V8DOMWindowShell::initializeV8IfNeeded): + (WebCore::V8DOMWindowShell::uninitializeV8IfNeeded): + * bindings/v8/V8DOMWindowShell.h: + +2010-06-18 Jessie Berlin <jberlin@webkit.org> + + Reviewed by Darin Adler. + + Bug 19509 - Database Tables in the Inspector should be sortable + https://bugs.webkit.org/show_bug.cgi?id=19509 + + * inspector/front-end/StoragePanel.js: + (WebInspector.StoragePanel.prototype.dataGridForResult): + Make each column in the DataGrid sortable. + (WebInspector.StoragePanel.prototype._sortDataGrid.comparator): + Make sure to sort numeric columns by their numeric values, instead of lexicographically. + (WebInspector.StoragePanel.prototype._sortDataGrid): + Sort the entries in the DataGrid based on the selected column. + +2010-06-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Oliver Hunt. + + More clang++ warning fixes. + + * inspector/InspectorFrontendClientLocal.cpp: + (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight): + * platform/graphics/mac/FontPlatformData.h: + * platform/graphics/mac/WebLayer.mm: + (-[CALayer _descriptionWithPrefix:]): + +2010-06-18 Dimitri Glazkov <dglazkov@chromium.org> + + Unreviewed, build fix. + + * WebCore.gyp/WebCore.gyp: Modified inclusion rule in to actually add WebSystemInterface.mm. + +2010-06-18 Dimitri Glazkov <dglazkov@chromium.org> + + Unreviewed, build fix. + + * WebCore.gyp/WebCore.gyp: Renamed WebSystemInterface.m to WebSystemInterface.mm. + +2010-06-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Make WebCoreSystemInterface.h a C++ only header + https://bugs.webkit.org/show_bug.cgi?id=40867 + + * platform/mac/WebCoreSystemInterface.h: + +2010-06-18 Abhishek Arya <inferno@chromium.org> + + Reviewed by Adam Barth. + + Convert column span from an unsigned short type to an unsigned int + type. Fixes a divide-by-zero crash arising from using a zero colspan + value coming from a narrow cast of an int to an unsigned short. + https://bugs.webkit.org/show_bug.cgi?id=40812 + + Test: fast/table/zero-colspan-crash.html + + * rendering/RenderTable.h: Change span from unsigned short to unsigned int. + * rendering/RenderTableSection.cpp: Fix a compiler warning with comparing + unsigned int with signed int. Value of an unsigned int here cannot be + greater than maximum positive value of a signed int. + (WebCore::RenderTableSection::addCell): + +2010-06-18 Ananth Jasty <ext-ananth.jasty@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Text spacing miscalculation when using wordSpacing. + https://bugs.webkit.org/show_bug.cgi?id=40483 + + Removed wordSpacing compensation in FontQt whitespace width + calculation. The QFontMetrics::width() overload that takes + a character does not take QFont's word spacing into account. + + * platform/graphics/qt/FontQt.cpp: + (WebCore::Font::floatWidthForComplexText): + +2010-06-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Get rid of PluginDataMac.mm and use the plug-in strategy instead + https://bugs.webkit.org/show_bug.cgi?id=40860 + + * WebCore.xcodeproj/project.pbxproj: + * page/mac/WebCoreViewFactory.h: + * plugins/PluginData.cpp: + (WebCore::PluginData::refresh): + (WebCore::PluginData::initPlugins): + * plugins/PluginStrategy.h: + * plugins/mac/PluginDataMac.mm: Removed. + +2010-06-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Fix some (not all) clang++ warnings. + + * dom/Position.h: + (WebCore::lastOffsetInNode): + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::deleteInsignificantText): + * loader/appcache/ApplicationCache.cpp: + (WebCore::ApplicationCache::resourceForRequest): + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::offsetForPosition): + (WebCore::ComplexTextController::collectComplexTextRuns): + * platform/network/CredentialStorage.cpp: + (WebCore::protectionSpaceMapKeyFromURL): + * rendering/style/StyleRareNonInheritedData.h: + +2010-06-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Add stubbed out WebPlatformStrategies class to WebKit. + https://bugs.webkit.org/show_bug.cgi?id=40851 + + * WebCore.base.exp: + * platform/PlatformStrategies.cpp: + * platform/PlatformStrategies.h: + (WebCore::PlatformStrategies::~PlatformStrategies): + +2010-06-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Fix build errors when building with clang++. + + * loader/archive/cf/LegacyWebArchiveMac.mm: + Move the const qualifier to the right place. + + * page/EditorClient.h: + * platform/Pasteboard.h: + Use @class when forward declaring Objective-C classes in Objective-C. + +2010-06-18 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Geoff Garen. + + https://bugs.webkit.org/show_bug.cgi?id=40852 + <rdar://problem/8105498> Limit simultaneous DNS prefetch request number (40852) + + No change in functionality, so no tests. + + We still queue up to 64 names, but only make up to 8 requests at once. If there are names + remaining in queue, we retry after a short timeout (which is easier than posting + notifications from client callback). + + * platform/network/cf/DNSCFNet.cpp: + (WebCore::DNSResolveQueue::add): + (WebCore::DNSResolveQueue::fired): + +2010-06-18 Zhenyao Mo <zmo@google.com> + + Reviewed by Simon Fraser. + + WebGL demos show bad flicker + https://bugs.webkit.org/show_bug.cgi?id=38560 + + * platform/graphics/mac/GraphicsContext3DMac.mm: + (WebCore::GraphicsContext3D::prepareTexture): Move ensureContext() out of if-block so it's always executed. + +2010-06-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add PlatformStrategies and PluginStrategy classes. + https://bugs.webkit.org/show_bug.cgi?id=40850 + + * WebCore.xcodeproj/project.pbxproj: + * platform/PlatformStrategies.cpp: Added. + (WebCore::PlatformStrategies::~PlatformStrategies): + (WebCore::platformStrategies): + (WebCore::setPlatformStrategies): + * platform/PlatformStrategies.h: Added. + (WebCore::PlatformStrategies::pluginStrategy): + (WebCore::PlatformStrategies::PlatformStrategies): + * plugins/PluginData.cpp: + * plugins/PluginStrategy.h: Added. + (WebCore::PluginStrategy::~PluginStrategy): + +2010-06-18 Martin Robinson <mrobinson@igalia.com> + + Unreviewed. + + Fix the GTK+ build after r61413 and 61379. + + * bindings/scripts/CodeGeneratorGObject.pm: + Produce a g_value_set that uses getterExpressionPrefix instead of the raw getter. + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + (webkit_dom_test_obj_get_property): Update expected test results. + +2010-06-18 Leandro Pereira <leandro@profusion.mobi> + + [EFL] Unreviewed build fix. + + * CMakeLists.txt: Add inspector/ScriptBreakpoint.cpp. + +2010-06-18 Andy Estes <aestes@apple.com> + + Rubber-stamped by Sam Weinig. + + Update copyright header. + + * html/HTMLLinkElement.h: + +2010-06-17 Andy Estes <aestes@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/8091385> Prevent a crash in WebCore when removing a stylesheet link element in + in a listener to its beforeload event. + https://bugs.webkit.org/show_bug.cgi?id=40742 + + Postpone loading of link elements until after they have been inserted into the DOM and + attached. This prevents DOM mutations triggered by beforeload handlers from firing in the + midst of DOM insertion, which can lead to assertion failures and crashes. + + Test: fast/dom/beforeload/remove-link-in-beforeload-listener.html + + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::HTMLLinkElement): Initialize m_shouldProcessAfterAttach to false. + (WebCore::HTMLLinkElement::processCallback): Add a static callback function which calls + HTMLLinkElement::process(). + (WebCore::HTMLLinkElement::insertedIntoDocument): Instead of calling process() directly, set + m_shouldProcessAfterAttach to true to indicate that process() should be called after attach(). + (WebCore::HTMLLinkElement::removedFromDocument): Set m_shouldProcessAfterAttach to false. + (WebCore::HTMLLinkElement::attach): If m_shouldProcessAfterAttach is true, register + HTMLLinkElement::processCallback() as a post-attach callback. + * html/HTMLLinkElement.h: Add m_shouldProcessAfterAttach. + (WebCore::HTMLLinkElement::canLazyAttach): Override canLazyAttach() to return false to + indicate that a full attach should be performed. This ensures the post-attach callbacks are + fired. + +2010-06-18 Chris Fleizach <cfleizach@apple.com> + + Unreviewed. Windows build fix. + + AX: presentational role needs to be inherited by required elements + https://bugs.webkit.org/show_bug.cgi?id=40132 + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::inheritsPresentationalRole): + +2010-06-18 Chris Fleizach <cfleizach@apple.com> + + Reviewed by David Kilzer. + + AX: presentational role needs to be inherited by required elements + https://bugs.webkit.org/show_bug.cgi?id=40132 + + Test: platform/mac/accessibility/inherited-presentational-lists.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + (WebCore::AccessibilityRenderObject::inheritsPresentationalRole): + * accessibility/AccessibilityRenderObject.h: + (WebCore::AccessibilityRenderObject::node): + +2010-06-18 Darin Adler <darin@apple.com> + + Fix GTK build after reflection change. + + * bindings/scripts/CodeGeneratorGObject.pm: Changed code + that emits setters to convey the correct type of the attribute. + The GObject code generator takes a different approach to attributes + than the others, so it's hacked a bit to make it more like them. + We should find a way to share more code between the different generators. + + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + Updated to expect correct results. + +2010-06-18 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed: Qt build fix. + + * inspector/InspectorController.cpp: + +2010-06-18 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Ojan Vafai. + + https://bugs.webkit.org/show_bug.cgi?id=39798 + No selection change notification for editing operation that doesn't change the selection's DOM position + + Some editing operations change the selection visually without affecting its position within + the DOM. This was previously known to occur for certain typing commands, but it can also + occur for some Pastes and changes to block style. + + * editing/Editor.cpp: + (WebCore::Editor::appliedEditing): + (WebCore::Editor::unappliedEditing): + (WebCore::Editor::reappliedEditing): + (WebCore::Editor::changeSelectionAfterCommand): + * editing/Editor.h: + +2010-06-18 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Unreviewed build fix. + + [EFL] Build break on Debug build. + https://bugs.webkit.org/show_bug.cgi?id=40810 + + * CMakeLists.txt: Add CSSPreloadScanner.cpp + +2010-06-18 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: persist breakpoints in inspector settings. + https://bugs.webkit.org/show_bug.cgi?id=14190 + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::setSessionSettings): + (WebCore::InspectorController::didCommitLoad): + (WebCore::InspectorController::setBreakpoint): + (WebCore::InspectorController::removeBreakpoint): + (WebCore::InspectorController::didParseSource): + (WebCore::InspectorController::breakpointsSettingKey): + (WebCore::InspectorController::loadBreakpoints): + (WebCore::InspectorController::saveBreakpoints): + * inspector/InspectorController.h: + * inspector/InspectorValues.cpp: + (WebCore::InspectorValue::parseJSON): + * inspector/InspectorValues.h: + * inspector/ScriptBreakpoint.cpp: Added. + (WebCore::ScriptBreakpoint::sourceBreakpointsFromInspectorObject): + (WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints): + * inspector/ScriptBreakpoint.h: + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype.addBreakpoint): + (WebInspector.BreakpointManager.prototype.restoredBreakpoint): + (WebInspector.BreakpointManager.prototype.breakpointsForSourceID): + (WebInspector.BreakpointManager.prototype.breakpointsForURL): + (WebInspector.BreakpointManager.prototype._addBreakpoint): + * inspector/front-end/inspector.js: + (WebInspector.restoredBreakpoint): + +2010-06-18 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Implement additional DOM attribute reflection for bindings + https://bugs.webkit.org/show_bug.cgi?id=39936 + + - Added support for [Reflect] for long, unsigned long, and boolean + attributes. + - Fixed code that set attributes like this: <video controls="controls"> + to instead set them like this: <video controls>. + - Added lots more uses of [Reflect]. + - Removed now-unneeded [ConvertFromString]. + - Made [Reflect] imply [ConvertNullToNullString] so we can get rid + of most uses of the latter. + - Made [Reflect] automatically lowercase the name of the reflected + content attribute to minimize the need to specify a custom content + attribute name. + + One thing this patch does *not* do is remove the unneeded functions + in the various DOM classes that are no longer used by the bindings. + We should do that in a followup. + + * bindings/scripts/CodeGenerator.pm: Added new functions so code + can be shared across bindings, GetterExpressionPrefix and + SetterExpressionPrefix. We can do a lot more refactoring like + this in the future. + + * bindings/scripts/CodeGeneratorCPP.pm: Removed unneeded + ConvertFromString handling, changed to use the new + GetterExpressionPrefix and SetterExpressionPrefix functions + to better handle reflected DOM attributes. + + * bindings/scripts/CodeGeneratorGObject.pm: Removed unneeded + ConvertFromString handling, changed to use the new + GetterExpressionPrefix and SetterExpressionPrefix functions + to better handle reflected DOM attributes. Fixed a few things + in the output so the .cpp file will have more WebKit style. + The .h file should be GTK style, but the .cpp file can be the + standard WebKit style eventually. + + * bindings/scripts/CodeGeneratorJS.pm: Changed to use the new + GetterExpressionPrefix and SetterExpressionPrefix functions + and removed a now-unneeded IsSVGAnimatedType special case since + the new functions take care of it. Made reflected attributes + automatically convert null to the null string without a + separate ConvertNullToNullString attribute. + + * bindings/scripts/CodeGeneratorObjC.pm: Changed to use the new + GetterExpressionPrefix and SetterExpressionPrefix functions + and removed a now-unneeded IsSVGAnimatedType special case since + the new functions take care of it. Redid the special cases for + ownerDocument and for operator to fit better with the new code + paths. Removed unneeded ConvertFromString handling. + + * bindings/scripts/CodeGeneratorV8.pm: Changed to use the new + GetterExpressionPrefix and SetterExpressionPrefix functions + and removed a now-unneeded IsSVGAnimatedType special case since + the new functions take care of it. Made reflected attributes + automatically convert null to the null string without a + separate ConvertNullToNullString attribute. + + * bindings/scripts/test/TestObj.idl: Added some test cases for + content attribute reflection and for exceptions in string-typed + attributes. + + * bindings/scripts/test/CPP/WebKitDOMTestObj.cpp: Updated. + * bindings/scripts/test/CPP/WebKitDOMTestObj.h: Ditto. + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto. + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto. + * bindings/scripts/test/JS/JSTestObj.cpp: Ditto. + * bindings/scripts/test/JS/JSTestObj.h: Ditto. + * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto. + * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto. + * bindings/scripts/test/V8/V8TestObj.cpp: Ditto. + + * dom/Element.cpp: + (WebCore::Element::getIntegralAttribute): Added. + (WebCore::Element::setIntegralAttribute): Added. + (WebCore::Element::getUnsignedIntegralAttribute): Added. + (WebCore::Element::setUnsignedIntegralAttribute): Added. + * dom/Element.h: Added new attribute get/set functions for bindings. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::isURLAttribute): Added. Returns true for + srcAttr. + * html/HTMLMediaElement.h: Added isURLAttribute. + + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::isURLAttribute): Changed to call + HTMLMediaElement::isURLAttribute before checking for posterAttr. + + * html/HTMLAnchorElement.idl: + * html/HTMLAppletElement.idl: + * html/HTMLAreaElement.idl: + * html/HTMLBRElement.idl: + * html/HTMLBaseElement.idl: + * html/HTMLBaseFontElement.idl: + * html/HTMLBlockquoteElement.idl: + * html/HTMLBodyElement.idl: + * html/HTMLButtonElement.idl: + * html/HTMLDListElement.idl: + * html/HTMLDirectoryElement.idl: + * html/HTMLDivElement.idl: + * html/HTMLElement.idl: + * html/HTMLEmbedElement.idl: + * html/HTMLFontElement.idl: + * html/HTMLFormElement.idl: + * html/HTMLFrameElement.idl: + * html/HTMLFrameSetElement.idl: + * html/HTMLHRElement.idl: + * html/HTMLHeadElement.idl: + * html/HTMLHeadingElement.idl: + * html/HTMLHtmlElement.idl: + * html/HTMLIFrameElement.idl: + * html/HTMLImageElement.idl: + * html/HTMLInputElement.idl: + * html/HTMLIsIndexElement.idl: + * html/HTMLLIElement.idl: + * html/HTMLLabelElement.idl: + * html/HTMLLegendElement.idl: + * html/HTMLLinkElement.idl: + * html/HTMLMapElement.idl: + * html/HTMLMediaElement.idl: + * html/HTMLMenuElement.idl: + * html/HTMLMetaElement.idl: + * html/HTMLModElement.idl: + * html/HTMLOListElement.idl: + * html/HTMLObjectElement.idl: + * html/HTMLOptGroupElement.idl: + * html/HTMLOptionElement.idl: + * html/HTMLParagraphElement.idl: + * html/HTMLParamElement.idl: + * html/HTMLPreElement.idl: + * html/HTMLQuoteElement.idl: + * html/HTMLScriptElement.idl: + * html/HTMLStyleElement.idl: + * html/HTMLTableCaptionElement.idl: + * html/HTMLTableCellElement.idl: + * html/HTMLTableColElement.idl: + * html/HTMLTableElement.idl: + * html/HTMLTableRowElement.idl: + * html/HTMLTableSectionElement.idl: + * html/HTMLTextAreaElement.idl: + * html/HTMLUListElement.idl: + * html/HTMLVideoElement.idl: + * svg/SVGElement.idl: + Added more uses of [Reflect]. Got rid of uses of [ConvertNullToNullString] that + are now unneeded since [Reflect] now implies that. Changed formatting to be + simpler and consistent without all the lining up and multiple lines. + +2010-06-17 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Dimitri Glazkov. + + Remove some unnecessary checks that cause compiler warnings. + https://bugs.webkit.org/show_bug.cgi?id=40772 + + * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: + (WebCore::V8SQLResultSetRowList::itemCallback): + * bindings/v8/npruntime.cpp: + +2010-06-18 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Implement 'takeHeapSnapshot' in InspectorController. + + https://bugs.webkit.org/show_bug.cgi?id=40834 + + * bindings/js/ScriptProfiler.h: + (WebCore::ScriptProfiler::takeHeapSnapshot): + * bindings/v8/ScriptProfiler.cpp: + (WebCore::ScriptProfiler::takeHeapSnapshot): + * bindings/v8/ScriptProfiler.h: + * inspector/InspectorBackend.cpp: + (WebCore::InspectorBackend::takeHeapSnapshot): + * inspector/InspectorBackend.h: + * inspector/InspectorBackend.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::takeHeapSnapshot): + * inspector/InspectorController.h: + +2010-06-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + REGRESSION (r61379?): Assertion failure in Element::getURLAttribute() when accessing the src attribute of a script element + https://bugs.webkit.org/show_bug.cgi?id=40831 + + Test: fast/dom/HTMLScriptElement/isURLAttribute.html + + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::isURLAttribute): Check for the 'src' attribute. + +2010-06-18 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r61405. + http://trac.webkit.org/changeset/61405 + https://bugs.webkit.org/show_bug.cgi?id=40838 + + broke chromium mac compile (Requested by tonyg-cr1 on + #webkit). + + * bindings/v8/ScriptSourceCode.h: + (WebCore::ScriptSourceCode::ScriptSourceCode): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::compileScript): + (WebCore::V8Proxy::evaluate): + * bindings/v8/V8Proxy.h: + +2010-06-18 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + Fix WebGLRenderingContext helper functions find{Texture/Renderbuffer/Buffer} + https://bugs.webkit.org/show_bug.cgi?id=40176 + + * html/canvas/WebGLBuffer.cpp: Remove constructor with existing name. + * html/canvas/WebGLBuffer.h: Ditto. + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getVertexAttrib): Use findBuffer instead of creating a new WebGLBuffer. + (WebCore::WebGLRenderingContext::findTexture): Deal with name == 0 case and return raw pointer. + (WebCore::WebGLRenderingContext::findRenderbuffer): Ditto. + (WebCore::WebGLRenderingContext::findBuffer): Find WebGLBuffer object using given name. + * html/canvas/WebGLRenderingContext.h: Add findBuffer function declaration, change return type to raw pointer. + +2010-06-18 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by David Levin. + + Persist V8's ScriptData to the memory cache. + https://bugs.webkit.org/show_bug.cgi?id=38661 + + This stores V8's ScriptData in the memory cache and also causes the + network platform layer to be notified of the available cacheable + metadata. + + Chromium's morejs benchmark showed a ~7% improvement when this was + originally submitted (before it had to be rolled back). + + Test: fast/js/parser-high-byte-character.html + + * bindings/v8/ScriptSourceCode.h: + (WebCore::ScriptSourceCode::ScriptSourceCode): + (WebCore::ScriptSourceCode::cachedScript): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::compileScript): + (WebCore::V8Proxy::precompileScript): + (WebCore::V8Proxy::evaluate): + * bindings/v8/V8Proxy.h: + +2010-06-18 Anton Muhin <antonm@chromium.org> + + Reviewed by Dimitri Glazkov. + + [v8] Finish migration to new named property query API + https://bugs.webkit.org/show_bug.cgi?id=40771 + Remove definition which allowed gradual transition to new API. + See https://bugs.webkit.org/show_bug.cgi?id=40303 for first phase. + + * config.h: + +2010-06-17 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: bring XHR console records back. + - adds "Enable XHR Monitor" / "Disable XHR Monitor" actions to the console's context menu + - make the chosen option persist in the settings. + + https://bugs.webkit.org/show_bug.cgi?id=40799 + + * English.lproj/localizedStrings.js: + * inspector/InspectorBackend.cpp: + (WebCore::InspectorBackend::disableSearchingForNode): + (WebCore::InspectorBackend::enableMonitoringXHR): + (WebCore::InspectorBackend::disableMonitoringXHR): + * inspector/InspectorBackend.h: + * inspector/InspectorBackend.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::setMonitoringXHR): + (WebCore::InspectorController::didLoadResourceFromMemoryCache): + (WebCore::InspectorController::identifierForInitialRequest): + (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): + (WebCore::InspectorController::ensureSettingsLoaded): + * inspector/InspectorController.h: + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::monitoringXHRWasEnabled): + (WebCore::InspectorFrontend::monitoringXHRWasDisabled): + * inspector/InspectorFrontend.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._handleContextMenuEvent): + (WebInspector.ConsoleView.prototype._registerShortcuts): + * inspector/front-end/InjectedScript.js: + (injectedScriptConstructor.): + * inspector/front-end/InspectorBackendStub.js: + (.WebInspector.InspectorBackendStub): + (.WebInspector.InspectorBackendStub.prototype.enableMonitoringXHR): + (.WebInspector.InspectorBackendStub.prototype.disableMonitoringXHR): + * inspector/front-end/inspector.js: + (WebInspector.monitoringXHRWasEnabled): + (WebInspector.monitoringXHRWasDisabled): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::didFinishLoading): + +2010-06-18 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Modernize SVG Text code, following the HTML design + https://bugs.webkit.org/show_bug.cgi?id=40663 + + SVG Text does not support subpixel positioning + https://bugs.webkit.org/show_bug.cgi?id=12172 + + RenderSVGText can't do partial repaints + https://bugs.webkit.org/show_bug.cgi?id=15386 + + HTML and SVG need to share more text painting code + https://bugs.webkit.org/show_bug.cgi?id=15644 + + Rewrite SVG Text rendering, only keeping the layout of the actual characters/chunks as it was. + We're now drawing SVG Text very similar to HTML Text, utilizing the SVGInlineFlowBox/SVGInlineTextBox structure, + instead of painting all text content of a <text> element from the SVGRootInlineBox, as it was the last years. + + Rough overview of the changes: + - Partial repainting support for text selections (startPos/endPos are respected), no more redrawing of the whole <text> content while selecting + - Subpixel positioning (near pixel-perfect rendering for all W3C tests that contain text, finally!) + -> much better textPath results, characters now align as expected, as all rounding hacks are disabled for SVG text runs, and subpixel precision is used while painting + - No more custom handling of selection, the standard methods offsetFromPosition() / selectionRectForText() are used instead. + - Selection works as expected on stretched/squeezed text (lengthAdjust="spacingAndGlyphs"), takes 'includePartialGlyphs' into account - just like HTML text + - Correct text decoration drawing (proper with and positions and rendering-order, underline/overline before text, strike-through afterwards) + - Proper sizing of all InlineBoxes, starting from the SVGRootInlineBox, down to every single flow & text box + -> correct DRT results, no more weird negative offsets of text runs, etc. Looks exactly like the HTML text test results. + - Rewritten SVGTextContentElement API to take per-character / per-chunk transformations into account. + - Speeeeeed! Drawing is much faster now. + + Add 24 new testcases covering basic selection features and the SVGTextContentElement API. Each test draws a half-opaque red rectangle, calculated using + SVGTextContentElement API to highlight the area that is supposed to be selected. Then eventSender API is utilized to move the mouse to the calculated + start origin, holding it down and moving it to the end position. + + A detailed list of tests that show progression, can be found in the corresponding LayoutTests/ChangeLog. + Note that this requires a rebaselining of all SVG tests containing text elements. + + Tests: svg/hixie/text/001.xml (moved from svg/hixie/text/001-broken.xml) + svg/text/lengthAdjust-text-metrics.html + svg/text/select-textLength-spacing-squeeze-1.svg + svg/text/select-textLength-spacing-squeeze-2.svg + svg/text/select-textLength-spacing-squeeze-3.svg + svg/text/select-textLength-spacing-squeeze-4.svg + svg/text/select-textLength-spacing-stretch-1.svg + svg/text/select-textLength-spacing-stretch-2.svg + svg/text/select-textLength-spacing-stretch-3.svg + svg/text/select-textLength-spacing-stretch-4.svg + svg/text/select-textLength-spacingAndGlyphs-squeeze-1.svg + svg/text/select-textLength-spacingAndGlyphs-squeeze-2.svg + svg/text/select-textLength-spacingAndGlyphs-squeeze-3.svg + svg/text/select-textLength-spacingAndGlyphs-squeeze-4.svg + svg/text/select-textLength-spacingAndGlyphs-stretch-1.svg + svg/text/select-textLength-spacingAndGlyphs-stretch-2.svg + svg/text/select-textLength-spacingAndGlyphs-stretch-3.svg + svg/text/select-textLength-spacingAndGlyphs-stretch-4.svg + svg/text/select-x-list-1.svg + svg/text/select-x-list-2.svg + svg/text/select-x-list-3.svg + svg/text/select-x-list-4.svg + svg/text/select-x-list-with-tspans-1.svg + svg/text/select-x-list-with-tspans-2.svg + svg/text/select-x-list-with-tspans-3.svg + svg/text/select-x-list-with-tspans-4.svg + + * rendering/InlineBox.h: Remove not needed isInlineBox() method. + (WebCore::InlineBox::isInlineTextBox): Constify this method. + (WebCore::InlineBox::isSVGInlineTextBox): Added, with ENABLE(SVG) guards, just like the existing isSVGRootInlineBox(). + (WebCore::InlineBox::isSVGRootInlineBox): Constify this method. + (WebCore::InlineBox::calculateBoundaries): Added, with ENABLE(SVG) guards, used to calculate the whole boundaries of a InlineText/FlowBox, only used in SVG text. + * rendering/InlineFlowBox.h: Devirtualize placeBoxesHorizontally(), SVG no more overrides it. + * rendering/InlineTextBox.h: Virtualize selectionStartEnd() - SVGInlineTextBox needs to change start/endPositions based on the current text chunk part that it's rendering. + SVGTextChunkLayoutInfo.h contains a detailed documentation what a SVGTextChunk/SVGTextChunkPart is, and why they are necessary. + (WebCore::InlineTextBox::isInlineTextBox): Constify this method. + * rendering/RenderBlock.h: + (WebCore::RenderBlock::forceLayoutInlineChildren): Add helper method, used only by RenderSVGText, to use a simplified layout strategy, which is a big speed win. + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeHorizontalPositionsForLine): Remove all isSVGText() special cases, as this function is not called anymore for SVG text. + (WebCore::RenderBlock::layoutInlineChildren): Don't call computeHorizontalPositionsForLine() for SVG text. computePerCharacterLayoutInformation() overrides it anyway. + * rendering/RenderSVGInline.cpp: Remove custom absoluteRects/absoluteQuads code, all shared with RenderInline now. + (WebCore::RenderSVGInline::clippedOverflowRectForRepaint): Added, forward to SVGRenderBase, just like all other non-text SVG renderers do. + (WebCore::RenderSVGInline::computeRectForRepaint): Ditto. + (WebCore::RenderSVGInline::mapLocalToContainer): Ditto + * rendering/RenderSVGInline.h: + * rendering/RenderSVGInlineText.cpp: Remove destroy() hack, which called setNeedsLayoutAndPrefWidthsRecalc/repaint on destruction. + As repaint rects work properly now, this hack is no longer necessary, it was only hiding the real problem. + (WebCore::RenderSVGInlineText::styleDidChange): Don't skip RenderText::styleDidChange() anymore, which automatically schedules layout changes for us. + (WebCore::RenderSVGInlineText::localCaretRect): Remove outdated comment, localCaretRect() is not yet needed in SVG text code. + * rendering/RenderSVGInlineText.h: Remove custom absoluteRects/absoluteQuads/selectionRectForRepaint/positionForPoint/destroy/computeRectForRepaint* code, all shared with RenderText now. + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::mapLocalToContainer): Take x/y translation into account, but do NOT include in localToParentTransform(), as that would affect rendering. + (WebCore::RenderSVGText::layout): Use super-simplified layout strategy, removing a lot of uncessary stuff done by RenderBlock, that SVG does not need. + (WebCore::RenderSVGText::absoluteRects): Remove dead-code, retreving the RenderSVGRoot* object, not necessary since a longer time. + (WebCore::RenderSVGText::absoluteQuads): Ditto. + (WebCore::RenderSVGText::paint): Early exit if we're not in PaintPhaseForeground/PaintPhaseSelfOutline. We're not interessted in other phases. + (WebCore::RenderSVGText::strokeBoundingBox): Fix stroke width calculation, no need to special case SVGFonts. + * rendering/RenderSVGText.h: Remove updateFirstLineBlock/updateFirstLetter overrides, the new RenderSVGText::layout() code, doesn't use these methods at all. + We asked RenderBlock to layout before, which was calling updateFirstLetter & co, this is gone now, as it was all not needed. + (WebCore::RenderSVGText::objectBoundingBox): Directly return the frameRect here, inlined for speed. + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::verticallyAlignBoxes): Early-exit if we're a SVGRootInlineBox. SVG handles this on its own. + * rendering/RootInlineBox.h: Devirtualize verticallyAlignBoxes(), SVG no longer overrides it. Remove virtual computePerCharacterLayoutInformation() method, only lives in SVGRootInlineBox now. + * rendering/SVGCharacterData.h: Remove no longer needed SVGTextDecorationInfo. + * rendering/SVGCharacterLayoutInfo.cpp: Don't pass a reference to a Vector<SVGChar> to SVGCharacterLayoutInfo, let it create it. + (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo): + * rendering/SVGCharacterLayoutInfo.h: + * rendering/SVGInlineFlowBox.cpp: + (WebCore::SVGInlineFlowBox::paint): Ask children to paint. + (WebCore::SVGInlineFlowBox::calculateBoundaries): Calculate boundaries by uniting all direct children boundaries. + * rendering/SVGInlineFlowBox.h: Remove placeBoxesHorizontally, which does not get called anymore, and does not need to be overriden. + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::SVGInlineTextBox): Don't use abbrevations for variable names, initialize new member variables. + (WebCore::SVGInlineTextBox::measureCharacter): New helper function extracted from buildLayoutInformation, replacing calculateGlyphWidth/Height. + (WebCore::SVGInlineTextBox::offsetForPosition): Implement this method by utilizing Font::offsetForPosition(), but respecting the text chunk parts. + (WebCore::SVGInlineTextBox::positionForOffset): No change here, still not used. + (WebCore::SVGInlineTextBox::selectionRect): Rewritten, utilizing Font::selectionRectForText(), taking text chunk parts into account, and the supplied startPos/endPos. + (WebCore::SVGInlineTextBox::paint): Rewritten, to handle paint servers much more elegant, than the old solution. See code for details, too much to explain here. + (WebCore::SVGInlineTextBox::acquirePaintingResource): Helper function, used from paint(). + (WebCore::SVGInlineTextBox::releasePaintingResource): Ditto. + (WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting): Ditto. + (WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting): Ditto. + (WebCore::SVGInlineTextBox::constructTextRun): Helper function centralizing the creation of a TextRun object, used to draw/measure SVG text. + (WebCore::SVGInlineTextBox::mapStartEndPositionsIntoChunkPartCoordinates): Important helper function, mapping a startPos/endPos from InlineTextBox + coordinate space to the SVGInlineTextBox, respecting the current text chunk part. + (WebCore::SVGInlineTextBox::selectionStartEnd): Call InlineTextBox::selectionStartEnd(), and apply post fixes when m_currentChunkPart is set. (called when painting a selected chunk part) + (WebCore::positionOffsetForDecoration): Refactored from old paintDecoration() code. + (WebCore::thicknessForDecoration): Ditto. + (WebCore::findRenderObjectDefininingTextDecoration): Ditto. + (WebCore::SVGInlineTextBox::paintDecoration): Ditto. (Can not share the code with HTML, as we need floating point precision, and directly call fillRect, instead of drawHighlightForText.) + (WebCore::SVGInlineTextBox::paintDecorationWithStyle): Ditto. + (WebCore::SVGInlineTextBox::paintSelection): New method, painting text selections with floating-point precision. + (WebCore::SVGInlineTextBox::paintText): New method, painting text with floating-point precision, correctly handling selected text, removing the need for special SVG text sub-paint phases. + (GlyphFill/StrokeSelectionPhase, GlyphFill/StrokePhase) + (WebCore::SVGInlineTextBox::buildLayoutInformation): Use new measureCharacter() helper function, renamed some variables, to avoid abbrevations. + (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): Rewritten to use new measureCharacter() helper function. + (WebCore::SVGInlineTextBox::calculateBoundaries): Rewritten to take text chunk parts into account, serves as central method used to layout InlineBoxes (see SVGRootInlineBox.) + * rendering/SVGInlineTextBox.h: + (WebCore::SVGInlineTextBox::isSVGInlineTextBox): Added. + (WebCore::SVGInlineTextBox::setHeight): Rename variable, to avoid abbrevations. + (WebCore::SVGInlineTextBox::chunkTransformation): New helper function, returning the transformation, that gets applied to the complete text chunk, if any. + (WebCore::SVGInlineTextBox::setChunkTransformation): New helper function used by SVGRrootInlineBox, to set the chunk transformation, during text chunk part propagation phase. + (WebCore::SVGInlineTextBox::addChunkPartInformation): Ditto. + (WebCore::SVGInlineTextBox::svgTextChunkParts): Ditto. + * rendering/SVGRootInlineBox.cpp: Virtually rewritten, to be designed more like HTMLs RootInlineBox, diving into children for painting. + (WebCore::SVGRootInlineBox::paint): Ask children to paint, nothing more. No more traversing through the SVGTextChunks, figuring out which part to render, this is done in layout phase now. + (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Completly redesigned, see SVGTextChunkLayoutInfo.h for a high-level overview. + (WebCore::SVGRootInlineBox::buildLayoutInformation): Just small cleanups, nothing changed here. + (WebCore::SVGRootInlineBox::layoutChildBoxes): New helper function, extracted from old layoutInlineBoxes(). + (WebCore::SVGRootInlineBox::layoutRootBox): Ditto. + (WebCore::SVGRootInlineBox::propagateTextChunkPartInformation): Key-concept of the new design, builds "text chunk parts" and propagates that knownledge to all child SVGInlineTextBoxes. + * rendering/SVGRootInlineBox.h: + (WebCore::SVGRootInlineBox::isSVGRootInlineBox): Constified method. + (WebCore::SVGRootInlineBox::setHeight): Change variable name, to avoid abbrevations. + * rendering/SVGTextChunkLayoutInfo.cpp: Remove if 0, enable compilation. + * rendering/SVGTextChunkLayoutInfo.h: Add large comment explaining text chunk parts, the key concept of the new design. Remove SVGTextChunkWalker & friends, no longer used. + (WebCore::SVGTextChunkPart::SVGTextChunkPart): + (WebCore::SVGTextChunkPart::isValid): + (WebCore::SVGTextChunk::SVGTextChunk): + (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo): + (WebCore::SVGTextChunkLayoutInfo::textChunks): + * rendering/SVGTextLayoutUtilities.cpp: + (WebCore::cummulatedWidthOfInlineBoxCharacterRange): + (WebCore::cummulatedHeightOfInlineBoxCharacterRange): + (WebCore::svgTextRunForInlineTextBox): Disable rounding hacks, explain parameters with comments, why they have which values. + * rendering/SVGTextLayoutUtilities.h: Remove SVGTextPaintSubphase and SVGTextPaintInfo. + * rendering/SVGTextQuery.cpp: Remove if 0, enable compilation. + * rendering/SVGTextQuery.h: Ditto. + * svg/SVGStyledElement.cpp: Very important change! Do not treat CSS attributes as recognized attributes, that would lead to setNeedsLayout() calls, reducing performance! + This hack existed, as we were not dealing with text updates correctly, now that RenderSVGInlineText::styleDidChange is fixed, it's no longer necessary. + (WebCore::SVGStyledElement::isKnownAttribute): + * svg/SVGTextContentElement.cpp: Completely remove the SVGTextContentElement API, that manually traversed all text chunks, instead use the new SVGTextQuery API. + (WebCore::SVGTextContentElement::getNumberOfChars): + (WebCore::SVGTextContentElement::getComputedTextLength): + (WebCore::SVGTextContentElement::getSubStringLength): + (WebCore::SVGTextContentElement::getStartPositionOfChar): + (WebCore::SVGTextContentElement::getEndPositionOfChar): + (WebCore::SVGTextContentElement::getExtentOfChar): + (WebCore::SVGTextContentElement::getRotationOfChar): + (WebCore::SVGTextContentElement::getCharNumAtPosition): + * svg/SVGTextElement.cpp: Very important change! Do not calls setNeedsLayout() on RenderSVGText, if childrenChanged() has been called. + * svg/SVGTextElement.h: Completly remove childrenChanged() - no longer necessary, updates work as expected without it now. + +2010-06-18 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Reviewed by David Levin. + + Fix compilation when filters are disabled. Revision r60689 + changed the signature of SVGRenderBase::prepareToRenderSVGContent() + but didn't change the unsused parameters when filters are disabled. + https://bugs.webkit.org/show_bug.cgi?id=40625 + + No new tests. Compilation fix. + + * rendering/SVGRenderSupport.cpp: + (WebCore::SVGRenderBase::prepareToRenderSVGContent): + +2010-06-18 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + noAccess url schemes block access to inline stylesheets + https://bugs.webkit.org/show_bug.cgi?id=32309 + + Instead of using baseURL() to grab the security context we should just + use finalURL directly. When I wrote the original patch that added this + security check, finalURL didn't exist yet. + + If finalURL is an empty URL, that means we generated the style sheet + from text that didn't have a URL. It would be slightly safer to store + a bit on CSSStyleSheet indicating whether it came from an inline style + sheet, but I think this check is fairly accurate. + + Test: http/tests/security/data-url-inline.css.html + + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::cssRules): + +2010-06-18 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Remove unneeded custom code for WebSocket.send + https://bugs.webkit.org/show_bug.cgi?id=38180 + + We don't appear to require a custom binding here. The old function was + wacky in two ways: + + 1) It required all of its arguments. + + 2) If the toString of its argument threw, it would catch the exception + and re-throw a different exception. + + I've kept the first behavior but changed the second (and documented it + with a test). + + Test: websocket/tests/send-throw.html + + * bindings/js/JSWebSocketCustom.cpp: + * bindings/v8/custom/V8WebSocketCustom.cpp: + * websockets/WebSocket.idl: + +2010-06-15 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Adam Barth. + + Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase. + https://bugs.webkit.org/show_bug.cgi?id=39041 + + * WebCore.base.exp + * bindings/generic/RuntimeEnabledFeatures.cpp: + (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled): + (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::openDatabase): + * storage/AbstractDatabase.cpp: + (WebCore::AbstractDatabase::isAvailable): + (WebCore::AbstractDatabase::setIsAvailable): + * storage/AbstractDatabase.h: + * storage/Database.cpp: + * storage/Database.h: + * storage/DatabaseSync.cpp: + * storage/DatabaseSync.h: + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::openDatabase): + (WebCore::WorkerContext::openDatabaseSync): + * workers/WorkerContext.h: + +2010-06-18 Adam Barth <abarth@webkit.org> + + Rubber-stamped by Eric Seidel. + + Fix the namespace indent for HTML5Lexer. This patch changes + white-space only. + + * html/HTML5Lexer.h: + (WebCore::HTML5Lexer::): + (WebCore::HTML5Lexer::lineNumber): + (WebCore::HTML5Lexer::columnNumber): + (WebCore::HTML5Lexer::state): + (WebCore::HTML5Lexer::setState): + (WebCore::HTML5Lexer::skipLeadingNewLineForListing): + (WebCore::HTML5Lexer::InputStreamPreprocessor::InputStreamPreprocessor): + (WebCore::HTML5Lexer::InputStreamPreprocessor::nextInputCharacter): + (WebCore::HTML5Lexer::InputStreamPreprocessor::peek): + (WebCore::HTML5Lexer::InputStreamPreprocessor::advance): + +2010-06-18 Fumitoshi Ukai <ukai@chromium.org> + + Unreviewed test breakage fix. + + WebSocket: resume should not process buffer if already processing. + https://bugs.webkit.org/show_bug.cgi?id=39340 + + MessageLoop runs in main thread, so we don't need to use timer in worker thread. + Also, we should not use Timer in worker thread. + + * websockets/ThreadableWebSocketChannelClientWrapper.h: + (WebCore::ThreadableWebSocketChannelClientWrapper::resume): + (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper): + +2010-06-17 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r61379. + http://trac.webkit.org/changeset/61379 + https://bugs.webkit.org/show_bug.cgi?id=40813 + + Broke multiple tests on all platforms (Requested by tkent on + #webkit). + + * bindings/scripts/CodeGenerator.pm: + * bindings/scripts/CodeGeneratorCPP.pm: + * bindings/scripts/CodeGeneratorGObject.pm: + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorObjC.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/test/CPP/WebDOMTestObj.cpp: + (WebDOMTestObj::attrWithException): + (WebDOMTestObj::setAttrWithException): + (WebDOMTestObj::attrWithSetterException): + (WebDOMTestObj::attrWithGetterException): + (WebDOMTestObj::setAttrWithGetterException): + * bindings/scripts/test/CPP/WebDOMTestObj.h: + * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: + (webkit_dom_test_callback_callback_with_class1param): + (webkit_dom_test_callback_callback_with_class2param): + (webkit_dom_test_callback_callback_with_non_bool_return_type): + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + (webkit_dom_test_obj_void_method): + (webkit_dom_test_obj_void_method_with_args): + (webkit_dom_test_obj_int_method): + (webkit_dom_test_obj_int_method_with_args): + (webkit_dom_test_obj_obj_method): + (webkit_dom_test_obj_obj_method_with_args): + (webkit_dom_test_obj_method_that_requires_all_args): + (webkit_dom_test_obj_method_that_requires_all_args_and_throws): + (webkit_dom_test_obj_serialized_value): + (webkit_dom_test_obj_method_with_exception): + (webkit_dom_test_obj_with_dynamic_frame): + (webkit_dom_test_obj_with_dynamic_frame_and_arg): + (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg): + (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture): + (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad): + (webkit_dom_test_obj_with_script_state_void): + (webkit_dom_test_obj_with_script_state_obj): + (webkit_dom_test_obj_with_script_state_void_exception): + (webkit_dom_test_obj_with_script_state_obj_exception): + (webkit_dom_test_obj_with_script_execution_context): + (webkit_dom_test_obj_method_with_optional_arg): + (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg): + (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args): + (webkit_dom_test_obj_get_read_only_int_attr): + (webkit_dom_test_obj_get_read_only_string_attr): + (webkit_dom_test_obj_get_read_only_test_obj_attr): + (webkit_dom_test_obj_get_int_attr): + (webkit_dom_test_obj_set_int_attr): + (webkit_dom_test_obj_get_long_long_attr): + (webkit_dom_test_obj_set_long_long_attr): + (webkit_dom_test_obj_get_unsigned_long_long_attr): + (webkit_dom_test_obj_set_unsigned_long_long_attr): + (webkit_dom_test_obj_get_string_attr): + (webkit_dom_test_obj_set_string_attr): + (webkit_dom_test_obj_get_test_obj_attr): + (webkit_dom_test_obj_set_test_obj_attr): + (webkit_dom_test_obj_get_attr_with_exception): + (webkit_dom_test_obj_set_attr_with_exception): + (webkit_dom_test_obj_get_attr_with_setter_exception): + (webkit_dom_test_obj_set_attr_with_setter_exception): + (webkit_dom_test_obj_get_attr_with_getter_exception): + (webkit_dom_test_obj_set_attr_with_getter_exception): + (webkit_dom_test_obj_get_script_string_attr): + (webkit_dom_test_obj_get_conditional_attr1): + (webkit_dom_test_obj_set_conditional_attr1): + (webkit_dom_test_obj_get_conditional_attr2): + (webkit_dom_test_obj_set_conditional_attr2): + (webkit_dom_test_obj_get_conditional_attr3): + (webkit_dom_test_obj_set_conditional_attr3): + (webkit_dom_test_obj_get_description): + (webkit_dom_test_obj_get_id): + (webkit_dom_test_obj_set_id): + (webkit_dom_test_obj_get_hash): + (webkit_dom_test_obj_set_property): + (webkit_dom_test_obj_get_property): + (webkit_dom_test_obj_class_init): + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore::): + (WebCore::jsTestObjAttrWithException): + (WebCore::jsTestObjAttrWithSetterException): + (WebCore::jsTestObjAttrWithGetterException): + (WebCore::setJSTestObjAttrWithException): + (WebCore::setJSTestObjAttrWithGetterException): + (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): + * bindings/scripts/test/JS/JSTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + (-[DOMTestObj attrWithException]): + (-[DOMTestObj setAttrWithException:]): + (-[DOMTestObj attrWithSetterException]): + (-[DOMTestObj attrWithGetterException]): + (-[DOMTestObj setAttrWithGetterException:]): + * bindings/scripts/test/TestObj.idl: + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::attrWithExceptionAttrGetter): + (WebCore::TestObjInternal::attrWithExceptionAttrSetter): + (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter): + (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter): + (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter): + (WebCore::TestObjInternal::overloadedMethodCallback): + (WebCore::): + * dom/Element.cpp: + * dom/Element.h: + * html/HTMLAnchorElement.idl: + * html/HTMLAppletElement.idl: + * html/HTMLAreaElement.idl: + * html/HTMLBRElement.idl: + * html/HTMLBaseElement.idl: + * html/HTMLBaseFontElement.idl: + * html/HTMLBlockquoteElement.idl: + * html/HTMLBodyElement.idl: + * html/HTMLButtonElement.idl: + * html/HTMLDListElement.idl: + * html/HTMLDirectoryElement.idl: + * html/HTMLDivElement.idl: + * html/HTMLElement.idl: + * html/HTMLEmbedElement.idl: + * html/HTMLFontElement.idl: + * html/HTMLFormElement.idl: + * html/HTMLFrameElement.idl: + * html/HTMLFrameSetElement.idl: + * html/HTMLHRElement.idl: + * html/HTMLHeadElement.idl: + * html/HTMLHeadingElement.idl: + * html/HTMLHtmlElement.idl: + * html/HTMLIFrameElement.idl: + * html/HTMLImageElement.idl: + * html/HTMLInputElement.idl: + * html/HTMLIsIndexElement.idl: + * html/HTMLLIElement.idl: + * html/HTMLLabelElement.idl: + * html/HTMLLegendElement.idl: + * html/HTMLLinkElement.idl: + * html/HTMLMapElement.idl: + * html/HTMLMediaElement.idl: + * html/HTMLMenuElement.idl: + * html/HTMLMetaElement.idl: + * html/HTMLModElement.idl: + * html/HTMLOListElement.idl: + * html/HTMLObjectElement.idl: + * html/HTMLOptGroupElement.idl: + * html/HTMLOptionElement.idl: + * html/HTMLParagraphElement.idl: + * html/HTMLParamElement.idl: + * html/HTMLPreElement.idl: + * html/HTMLQuoteElement.idl: + * html/HTMLScriptElement.idl: + * html/HTMLStyleElement.idl: + * html/HTMLTableCaptionElement.idl: + * html/HTMLTableCellElement.idl: + * html/HTMLTableColElement.idl: + * html/HTMLTableElement.idl: + * html/HTMLTableRowElement.idl: + * html/HTMLTableSectionElement.idl: + * html/HTMLTextAreaElement.idl: + * html/HTMLUListElement.idl: + * html/HTMLVideoElement.idl: + * svg/SVGElement.idl: + +2010-06-17 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Dave Hyatt. + + CSS3 "Property is declared twice in rule" test fails + https://bugs.webkit.org/show_bug.cgi?id=36282 + + Filter out duplicate properties in style declaration. + + Test: fast/css/duplicate-property-in-rule.html + + * css/CSSMutableStyleDeclaration.cpp: Filter out duplicate properties + (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): Discard negative padding values + * css/CSSStyleSelector.cpp: Remove negative padding check + (WebCore::CSSStyleSelector::applyProperty): + +2010-06-17 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Implement additional DOM attribute reflection for bindings + https://bugs.webkit.org/show_bug.cgi?id=39936 + + - Added support for [Reflect] for long, unsigned long, and boolean + attributes. + - Fixed code that set attributes like this: <video controls="controls"> + to instead set them like this: <video controls>. + - Added lots more uses of [Reflect]. + - Removed now-unneeded [ConvertFromString]. + - Made [Reflect] imply [ConvertNullToNullString] so we can get rid + of most uses of the latter. + - Made [Reflect] automatically lowercase the name of the reflected + content attribute to minimize the need to specify a custom content + attribute name. + + One thing this patch does *not* do is remove the unneeded functions + in the various DOM classes that are no longer used by the bindings. + We should do that in a followup. + + * bindings/scripts/CodeGenerator.pm: Added new functions so code + can be shared across bindings, GetterExpressionPrefix and + SetterExpressionPrefix. We can do a lot more refactoring like + this in the future. + + * bindings/scripts/CodeGeneratorCPP.pm: Removed unneeded + ConvertFromString handling, changed to use the new + GetterExpressionPrefix and SetterExpressionPrefix functions + to better handle reflected DOM attributes. + + * bindings/scripts/CodeGeneratorGObject.pm: Removed unneeded + ConvertFromString handling, changed to use the new + GetterExpressionPrefix and SetterExpressionPrefix functions + to better handle reflected DOM attributes. Fixed a few things + in the output so the .cpp file will have more WebKit style. + The .h file should be GTK style, but the .cpp file can be the + standard WebKit style eventually. + + * bindings/scripts/CodeGeneratorJS.pm: Changed to use the new + GetterExpressionPrefix and SetterExpressionPrefix functions + and removed a now-unneeded IsSVGAnimatedType special case since + the new functions take care of it. Made reflected attributes + automatically convert null to the null string without a + separate ConvertNullToNullString attribute. + + * bindings/scripts/CodeGeneratorObjC.pm: Changed to use the new + GetterExpressionPrefix and SetterExpressionPrefix functions + and removed a now-unneeded IsSVGAnimatedType special case since + the new functions take care of it. Redid the special cases for + ownerDocument and for operator to fit better with the new code + paths. Removed unneeded ConvertFromString handling. + + * bindings/scripts/CodeGeneratorV8.pm: Changed to use the new + GetterExpressionPrefix and SetterExpressionPrefix functions + and removed a now-unneeded IsSVGAnimatedType special case since + the new functions take care of it. Made reflected attributes + automatically convert null to the null string without a + separate ConvertNullToNullString attribute. + + * bindings/scripts/test/TestObj.idl: Added some test cases for + content attribute reflection and for exceptions in string-typed + attributes. + + * bindings/scripts/test/CPP/WebKitDOMTestObj.cpp: Updated. + * bindings/scripts/test/CPP/WebKitDOMTestObj.h: Ditto. + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto. + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto. + * bindings/scripts/test/JS/JSTestObj.cpp: Ditto. + * bindings/scripts/test/JS/JSTestObj.h: Ditto. + * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto. + * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto. + * bindings/scripts/test/V8/V8TestObj.cpp: Ditto. + + * dom/Element.cpp: + (WebCore::Element::getIntegralAttribute): Added. + (WebCore::Element::setIntegralAttribute): Added. + (WebCore::Element::getUnsignedIntegralAttribute): Added. + (WebCore::Element::setUnsignedIntegralAttribute): Added. + * dom/Element.h: Added new attribute get/set functions for bindings. + + * html/HTMLAnchorElement.idl: + * html/HTMLAppletElement.idl: + * html/HTMLAreaElement.idl: + * html/HTMLBRElement.idl: + * html/HTMLBaseElement.idl: + * html/HTMLBaseFontElement.idl: + * html/HTMLBlockquoteElement.idl: + * html/HTMLBodyElement.idl: + * html/HTMLButtonElement.idl: + * html/HTMLDListElement.idl: + * html/HTMLDirectoryElement.idl: + * html/HTMLDivElement.idl: + * html/HTMLElement.idl: + * html/HTMLEmbedElement.idl: + * html/HTMLFontElement.idl: + * html/HTMLFormElement.idl: + * html/HTMLFrameElement.idl: + * html/HTMLFrameSetElement.idl: + * html/HTMLHRElement.idl: + * html/HTMLHeadElement.idl: + * html/HTMLHeadingElement.idl: + * html/HTMLHtmlElement.idl: + * html/HTMLIFrameElement.idl: + * html/HTMLImageElement.idl: + * html/HTMLInputElement.idl: + * html/HTMLIsIndexElement.idl: + * html/HTMLLIElement.idl: + * html/HTMLLabelElement.idl: + * html/HTMLLegendElement.idl: + * html/HTMLLinkElement.idl: + * html/HTMLMapElement.idl: + * html/HTMLMediaElement.idl: + * html/HTMLMenuElement.idl: + * html/HTMLMetaElement.idl: + * html/HTMLModElement.idl: + * html/HTMLOListElement.idl: + * html/HTMLObjectElement.idl: + * html/HTMLOptGroupElement.idl: + * html/HTMLOptionElement.idl: + * html/HTMLParagraphElement.idl: + * html/HTMLParamElement.idl: + * html/HTMLPreElement.idl: + * html/HTMLQuoteElement.idl: + * html/HTMLScriptElement.idl: + * html/HTMLStyleElement.idl: + * html/HTMLTableCaptionElement.idl: + * html/HTMLTableCellElement.idl: + * html/HTMLTableColElement.idl: + * html/HTMLTableElement.idl: + * html/HTMLTableRowElement.idl: + * html/HTMLTableSectionElement.idl: + * html/HTMLTextAreaElement.idl: + * html/HTMLUListElement.idl: + * html/HTMLVideoElement.idl: + * svg/SVGElement.idl: + Added more uses of [Reflect]. Got rid of uses of [ConvertNullToNullString] that + are now unneeded since [Reflect] now implies that. Changed formatting to be + simpler and consistent without all the lining up and multiple lines. + +2010-06-17 MORITA Hajime <morrita@google.com> + + Unreviewd, fixed a build break. + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): + +2010-06-16 MORITA Hajime <morrita@google.com> + + Reviewed by Kent Tamura. + + <meter> should allow styling for each gauge-level and component + https://bugs.webkit.org/show_bug.cgi?id=40280 + + - Introduced following new pseudo classes for <meter> element. + + - -webkit-meter-horizontal-bar + - -webkit-meter-vertical-bar + - -webkit-meter-horizontal-optimum-value + - -webkit-meter-vertical-optimum-value + - -webkit-meter-horizontal-suboptimal-value + - -webkit-meter-vertical-suboptimal-value + - -webkit-meter-horizontal-even-less-good-value + - -webkit-meter-vertical-even-less-good-value + + - Introduced 2 shadow nodes for RenderMeter to handle CSS styling. + one for bar part and another for value part. + - Removed RenderTheme::paintMeter() implementation because it can be + handled by styled painting without RenderTheme. + - Pulled RenderIndicator up to super class from RenderProgress, + then make RenderMeter a subclass of it. + - Moved shadow related methods from RenderProgress to ShadowBlockElement + to share it with RenderMeter. + - Added rules for html.css for new pseudo classes. + + Tests: fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html + fast/dom/HTMLMeterElement/meter-styles.html + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): + (WebCore::nameToPseudoTypeMap): + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + * css/html.css: + (meter::-webkit-meter-horizontal-bar): + (meter::-webkit-meter-vertical-bar): + (meter::-webkit-meter-horizontal-optimum-value): + (meter::-webkit-meter-horizontal-suboptimal-value): + (meter::-webkit-meter-horizontal-even-less-good-value): + (meter::-webkit-meter-vertical-optimum-value): + (meter::-webkit-meter-vertical-suboptimal-value): + (meter::-webkit-meter-vertical-even-less-good-value): + * rendering/RenderIndicator.cpp: Added. + (WebCore::RenderIndicator::RenderIndicator): + (WebCore::RenderIndicator::~RenderIndicator): + (WebCore::RenderIndicator::layout): + (WebCore::RenderIndicator::styleDidChange): + (WebCore::RenderIndicator::updateFromElement): + (WebCore::RenderIndicator::hasParts): + (WebCore::RenderIndicator::requestLayoutForParts): + * rendering/RenderIndicator.h: Added. + (WebCore::RenderIndicator::requiresForcedStyleRecalcPropagation): + * rendering/RenderMeter.cpp: + (WebCore::RenderMeter::RenderMeter): + (WebCore::RenderMeter::~RenderMeter): + (WebCore::RenderMeter::layoutParts): Added. + (WebCore::RenderMeter::shouldHaveParts): Added. + (WebCore::RenderMeter::valueRatio): Added. + (WebCore::RenderMeter::barPartRect): Added. + (WebCore::RenderMeter::valuePartRect): Added. + (WebCore::RenderMeter::isHorizontal): Added. + (WebCore::RenderMeter::valuePseudoId): Added. + (WebCore::RenderMeter::barPseudoId): Added. + (WebCore::RenderMeter::updatePartsState): Added. + * rendering/RenderMeter.h: + * rendering/RenderProgress.cpp: + (WebCore::RenderProgress::RenderProgress): + (WebCore::RenderProgress::updateFromElement): + (WebCore::RenderProgress::paint): + (WebCore::RenderProgress::layoutParts): Added. + (WebCore::RenderProgress::shouldHaveParts): Added. + (WebCore::RenderProgress::updatePartsState): + (WebCore::RenderProgress::valuePartRect): + * rendering/RenderProgress.h: + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::isControlStyled): + (WebCore::RenderTheme::paintMeter): + * rendering/RenderTheme.h: + (WebCore::RenderTheme::supportsMeter): Added. + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::supportsMeter): Added. + * rendering/ShadowElement.cpp: + (WebCore::ShadowBlockElement::layoutAsPart): Added. + (WebCore::ShadowBlockElement::updateStyleForPart): Added. + (WebCore::ShadowBlockElement::createForPart): Added. + (WebCore::ShadowBlockElement::createStyleForPart): Added. + (WebCore::ShadowBlockElement::partShouldHaveStyle): Added. + * rendering/ShadowElement.h: + * rendering/style/RenderStyleConstants.h: + (WebCore::): + +2010-06-17 Fumitoshi Ukai <ukai@chromium.org> + + Reviewed by Alexey Proskuryakov. + + WebSocket: resume should not process buffer if already processing. + https://bugs.webkit.org/show_bug.cgi?id=39340 + + Test: websocket/tests/alert-in-event-handler.html + + While running an event handler of WebSocket object, it may be suspended + and resumed in various reason. e.g. alert() will suspend/resume + ActiveDOM objects. In chromium, sending IPC message would also + suspend/resume ActiveDOM objects. + If resume process pending buffer in this case, another event might + be fired while running the initial event handler. + Thus, resume should not process pending buffer immediately. + Pending buffer would be processed after the current task has been + finished. + + * websockets/ThreadableWebSocketChannelClientWrapper.h: + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::WebSocketChannel): + (WebCore::WebSocketChannel::resume): + Just set one shot timer for resumeTimerFired() if not yet set. + (WebCore::WebSocketChannel::resumeTimerFired): + Process pending event after resume was called. + * websockets/WebSocketChannel.h: + +2010-06-17 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + REGRESSION(HTML5 parser): editing/selection/leave-requested-block.html can fail or crash + https://bugs.webkit.org/show_bug.cgi?id=40764 + + HTML5ScriptRunner was careful to only call CachedResource::addClient + for cases where the resource was not already loaded. This was to + avoid getting synchronous notifyFinished callbacks from inside + addClient. (The old HTMLDocumentParser also has hacks to work around + addClient's synchronous notifyFinished behavior for already-loaded + resources as well.) + + It turns out that CachedResource will mark itself as purgeable if it + has no clients, thus it could have its data cleared (but itself not + deleted) in the case where we yield back to the runloop to wait for + CSS to load before executing the loaded script. + + The fix is to act more like the old parser and always call addClient + on every CachedScript we load. But unlike the old parser, we're + careful not to re-enter from addClient -> notifyFinished + using guards in HTML5DocumentParser::watchForLoad. + + I do not know how to make a CachedResource purge itself + from a LayoutTest, so this is not currently testable. + If anyone knows how I'm happy to make a test. + + * html/HTML5DocumentParser.cpp: + (WebCore::HTML5DocumentParser::watchForLoad): + - It is now expected to call watchForLoad with a loaded script. + (WebCore::HTML5DocumentParser::notifyFinished): + - Now that watchForLoad is called with loaded scripts, notifyFinished + may be be called from addClient, thus we may be in the middle of + script execution when it's called. It's OK. We pass the call + along to HTML5ScriptRunner::executeScriptsWaitingForLoad + and it knows how to ignore the call in that case. + * html/HTML5DocumentParser.h: + - Document these member variables more. + * html/HTML5ScriptRunner.cpp: + (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner): + (WebCore::HTML5ScriptRunner::executePendingScript): + (WebCore::HTML5ScriptRunner::hasScriptsWaitingForLoad): + (WebCore::HTML5ScriptRunner::watchForLoad): + - Set the pending script to RegisteringForWatch state before + watching and WatchingForLoad after. + (WebCore::HTML5ScriptRunner::stopWatchingForLoad): + - Set the pending script to NotWatchingForLoad. + (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad): + - Assert that callers checked hasScriptsWaitingForLoad() + (WebCore::HTML5ScriptRunner::requestScript): + * html/HTML5ScriptRunner.h: + (WebCore::HTML5ScriptRunner::PendingScript::): + (WebCore::HTML5ScriptRunner::PendingScript::PendingScript): + (WebCore::HTML5ScriptRunner::PendingScript::watchingForLoad): + * html/HTML5ScriptRunnerHost.h: + - Document the new expectations of watchForLoad + +2010-06-17 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Eric Seidel. + + Prevent HTML5PreloadScanner from loading resources in <noscript> tags. + https://bugs.webkit.org/show_bug.cgi?id=40779 + + No new tests. Will create a layout test in a subsequent patch. + + * html/HTML5PreloadScanner.cpp: + (WebCore::HTML5PreloadScanner::processToken): + * html/HTML5TreeBuilder.cpp: + (WebCore::HTML5TreeBuilder::adjustedLexerState): + (WebCore::HTML5TreeBuilder::passTokenToLegacyParser): + (WebCore::HTML5TreeBuilder::isScriptingFlagEnabled): + * html/HTML5TreeBuilder.h: + +2010-06-17 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + HTML5PreloadScanner parses <script> in DataState + https://bugs.webkit.org/show_bug.cgi?id=40804 + + The ScriptDataState is handled separately from the rest of the lexer + state changes because it's more complicted in the tree builder. The + easiest thing is to just handle it separately in the preloader too. + + * html/HTML5PreloadScanner.cpp: + (WebCore::HTML5PreloadScanner::processToken): + +2010-06-17 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add CSS scanning to HTML5PreloadScanner + https://bugs.webkit.org/show_bug.cgi?id=40802 + + This patch just cribs the CSS preload scanning algorithm from the old + preload scanner. We also invented a way of testing the preload + scanner. + + Tests: fast/preloader/image.html + fast/preloader/link.html + fast/preloader/script.html + fast/preloader/style.html + + * Android.mk: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/CSSPreloadScanner.cpp: Added. + (WebCore::isWhitespace): + (WebCore::CSSPreloadScanner::CSSPreloadScanner): + (WebCore::CSSPreloadScanner::reset): + (WebCore::CSSPreloadScanner::scan): + (WebCore::CSSPreloadScanner::tokenize): + (WebCore::CSSPreloadScanner::emitRule): + * html/CSSPreloadScanner.h: Added. + (WebCore::CSSPreloadScanner::): + * html/HTML5PreloadScanner.cpp: + (WebCore::HTML5PreloadScanner::HTML5PreloadScanner): + (WebCore::HTML5PreloadScanner::processToken): + (WebCore::HTML5PreloadScanner::scanningBody): + * html/HTML5PreloadScanner.h: + +2010-06-17 Abhishek Arya <inferno@chromium.org> + + Reviewed by David Kilzer. + + (Landed by Dirk Pranke). + + Check for a null frame before setting drag selection. + https://bugs.webkit.org/show_bug.cgi?id=38893 + Same Layout test as https://bugs.webkit.org/show_bug.cgi?id=37168. + + Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html + + Note that you need to run the test manually 20-30 times for the crash + to reproduce. + + * editing/SelectionController.cpp: + (WebCore::SelectionController::setSelection): + +2010-06-17 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Get rid of the the unused imageSize of ImageDecoderQt::internalHandleCurrentImage() + https://bugs.webkit.org/show_bug.cgi?id=40620 + + Remove an unused variable. + + * platform/graphics/qt/ImageDecoderQt.cpp: + (WebCore::ImageDecoderQt::internalHandleCurrentImage): + +2010-06-17 Jeremy Moskovich <jeremy@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium API] Implement WebSandboxSupport on OS X and add stubs to allow + OOP loading of fonts. + + https://bugs.webkit.org/show_bug.cgi?id=40544 + + * platform/chromium/ChromiumBridge.h: Add prototype for loadFont() + +2010-06-17 Nicolas Weber <thakis@chromium.org> + + Reviewed by Eric Seidel. + + Fix various warnings that are reported when building with clang + https://bugs.webkit.org/show_bug.cgi?id=40503 + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::labelElementContainer): + * accessibility/AccessibilityTableCell.cpp: + (WebCore::AccessibilityTableCell::parentTable): + * bindings/v8/NPV8Object.cpp: + (WebCore::npObjectTypeInfo): + * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: + (WebCore::): + * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: + (WebCore::): + * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: + (WebCore::): + * css/CSSStyleSheet.h: + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::getNamedElements): + * inspector/InspectorValues.cpp: + (WebCore::InspectorObject::getObject): + (WebCore::InspectorObject::getArray): + * page/animation/AnimationBase.h: + * platform/graphics/BitmapImage.h: + (WTF::): + * platform/graphics/mac/FontPlatformData.h: + * rendering/RenderBlock.h: + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::ellipsisBox): + * storage/StorageNamespaceImpl.cpp: + (WebCore::StorageNamespaceImpl::storageArea): + +2010-06-17 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Pavel Feldman. + + Add ENABLE(INSPECTOR) guard for m_sessionSettings + https://bugs.webkit.org/show_bug.cgi?id=40611 + + Build fix. + + * inspector/InspectorController.h: + +2010-06-17 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add FIXME to explain HTMLDocumentParser's forceSynchronous bool + https://bugs.webkit.org/show_bug.cgi?id=40609 + + No functional change, just adding comment. + + * dom/Document.cpp: + (WebCore::Document::write): + +2010-06-13 Robert Hogan <robert@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + WebCore EventHandler needs to take account of onLoad events + fired before layout() complete + + https://bugs.webkit.org/show_bug.cgi?id=40102 + + WebCore 'cheats' by firing onLoad events before the frame's layout + has been performed. This can result in event listeners performing + operations that depend on the document's final layout, such as + scrolling operations. + + When scrolling a frameview in eventhandler ensure the layout is complete. + + * page/EventHandler.cpp: + (WebCore::EventHandler::scrollRecursively): + +2010-06-16 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Dimitri Glazkov. + + Add the error codes defined in the async DB spec to SQLError.idl and SQLError.h. + https://bugs.webkit.org/show_bug.cgi?id=40748 + + Test: storage/sql-error-codes.html + + * storage/SQLError.h: + (WebCore::SQLError::): + * storage/SQLError.idl: + * storage/SQLStatement.cpp: + (WebCore::SQLStatement::execute): + (WebCore::SQLStatement::setDatabaseDeletedError): + (WebCore::SQLStatement::setVersionMismatchedError): + (WebCore::SQLStatement::setFailureDueToQuota): + (WebCore::SQLStatement::lastExecutionFailedDueToQuota): + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::openTransactionAndPreflight): + (WebCore::SQLTransaction::deliverTransactionCallback): + (WebCore::SQLTransaction::handleCurrentStatementError): + (WebCore::SQLTransaction::deliverStatementCallback): + (WebCore::SQLTransaction::postflightAndCommit): + +2010-06-17 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by Jian Li. + + Fix CRLF ending conversion in StringBlobItem. + https://bugs.webkit.org/show_bug.cgi?id=40736 + Also: fix referencing uninitialized member bug and slice length bug + in hybrid blob case. + + Tests will be added when we add BlobBuilder jsc bindings. + + * platform/BlobItem.cpp: + (WebCore::StringBlobItem::convertToCString): + (WebCore::DataRangeBlobItem::DataRangeBlobItem): + +2010-06-17 Dimitri Glazkov <dglazkov@chromium.org> + + Unreviewed, rolling out r61340. + http://trac.webkit.org/changeset/61340 + https://bugs.webkit.org/show_bug.cgi?id=36282 + + Broke several editing tests. + + * css/CSSMutableStyleDeclaration.cpp: + (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + +2010-06-17 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + Add optional contentType parameter to Blob.slice per latest File API spec. + https://bugs.webkit.org/show_bug.cgi?id=40647 + + Tested by http/tests/local/resources/send-sliced-dragged-file.html. + + * html/Blob.cpp: + (WebCore::Blob::slice): + * html/Blob.h: + * html/Blob.idl: + +2010-06-17 Jesus Sanchez-Palencia <jesus@webkit.org>, Kenneth Rohde Christiansen <kenneth@webkit.org> + + Reviewed by Simon Hausmann. + + [Qt] QtWebKit does not support viewport meta tag + https://bugs.webkit.org/show_bug.cgi?id=39902 + + Add windowRect() to page client. + + * platform/qt/QWebPageClient.h: + +2010-06-17 Stephen White <senorblanco@chromium.org> + + Reviewed by David Levin. + + Fix for slow multiple animated resize issue. + https://bugs.webkit.org/show_bug.cgi?id=38233 + + The timer-based resize quality approach implemented in + http://trac.webkit.org/changeset/34210 is a good idea, but doesn't + scale to multiple images with animated resizes. This fix unifies all + outstanding resize timers into a single timer, and removes the "use + last quality" check (which doesn't work when images are overlapping). + It also refactors the copy of this code implemented in + RenderBoxModelObject in http://trac.webkit.org/changeset/53949. + + This improves Safari performance for the following IE9 platform demos on my C2D MacPro (10.5): + http://ie.microsoft.com/testdrive/Performance/01FlyingImages/Default.html (4->60fps) + http://ie.microsoft.com/testdrive/Performance/10FlickrExplorer/Default.html (3->16fps) + http://ie.microsoft.com/testdrive/Performance/11BrowserFlip/Default.html (9->60fps) + + * rendering/RenderBoxModelObject.cpp: + (WebCore::ImageQualityController::ImageQualityController): + Unify all timers into a single timer, rename RenderBoxModelScaleObserver + to ImageQualityController, and remove the resize quality "stickness", + since it doesn't work with multiple outstanding resizes. + (WebCore::ImageQualityController::objectDestroyed): + gImages global is now m_lastPaintTimeMap member. + (WebCore::ImageQualityController::highQualityRepaintTimerFired): + Function made non-static; repaint all pending resizes (not just one). + (WebCore::ImageQualityController::restartTimer): + Added function to restart timer at 1.05x threshold. + (WebCore::imageQualityController): + Static function to return singleton. + (WebCore::ImageQualityController::shouldPaintAtLowQuality): + Use m_lastPaintTimeMap, not gImages global. Implement new timer + algorithm. Remove resize "stickiness". + (WebCore::RenderBoxModelObject::shouldPaintAtLowQuality): + Implement shouldPaintAtLowQuality, which pulls out "this" and passes + the call to the ImageQualityController. + (WebCore::RenderBoxModelObject::~RenderBoxModelObject): + Call ImageQualityController singleton's objectDestroyed() instead of + old static function. + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + Modify shouldPaintAtLowQuality() call to match new class name and + function signature. + * rendering/RenderBoxModelObject.h: + Expose shouldPaintAtLowQuality as a member function. + * rendering/RenderImage.cpp: + (WebCore::RenderImage::~RenderImage): + No need to call objectDestroyed() here anymore, since the + RenderBoxModelObject destructor will do this for us. + (WebCore::RenderImage::paintIntoRect): + Rip out RenderImageScaleObserver, and call + RenderBoxModelObject::shouldPaintAtLowQuality() instead. + +2010-06-17 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Dave Hyatt. + + CSS3 "Property is declared twice in rule" test fails + https://bugs.webkit.org/show_bug.cgi?id=36282 + + Filter out duplicate properties in style declaration. + + Test: fast/css/duplicate-property-in-rule.html + + * css/CSSMutableStyleDeclaration.cpp: Filter out duplicate properties + (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): Discard negative padding values + * css/CSSStyleSelector.cpp: Remove negative padding check + (WebCore::CSSStyleSelector::applyProperty): + +2010-06-17 Kenneth Russell <kbr@google.com> + + Reviewed by Dimitri Glazkov. + + Clean up error conditions for Typed Arrays + https://bugs.webkit.org/show_bug.cgi?id=40755 + + * bindings/js/JSArrayBufferCustom.cpp: + (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer): + - Fixed handling of NaN/+inf/-inf lengths. Throw RangeError for too-large or negative lengths. + * bindings/js/JSArrayBufferViewHelper.h: + (WebCore::constructArrayBufferView): + - Changed all error code paths to throw exceptions. Clarified exception types. + * bindings/js/JSFloat32ArrayCustom.cpp: + (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array): + - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView. + * bindings/js/JSInt16ArrayCustom.cpp: + (WebCore::JSInt16ArrayConstructor::constructJSInt16Array): + - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView. + * bindings/js/JSInt32ArrayCustom.cpp: + (WebCore::JSInt32ArrayConstructor::constructJSInt32Array): + - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView. + * bindings/js/JSInt8ArrayCustom.cpp: + (WebCore::JSInt8ArrayConstructor::constructJSInt8Array): + - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView. + * bindings/js/JSUint16ArrayCustom.cpp: + (WebCore::JSUint16ArrayConstructor::constructJSUint16Array): + - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView. + * bindings/js/JSUint32ArrayCustom.cpp: + (WebCore::JSUint32ArrayConstructor::constructJSUint32Array): + - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView. + * bindings/js/JSUint8ArrayCustom.cpp: + (WebCore::JSUint8ArrayConstructor::constructJSUint8Array): + - Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView. + * bindings/v8/custom/V8ArrayBufferCustom.cpp: + (WebCore::V8ArrayBuffer::constructorCallback): + - Fixed handling of NaN/+inf/-inf lengths. Throw RangeError for too-large or negative lengths. + Clarified exception types. + * bindings/v8/custom/V8ArrayBufferViewCustom.h: + (WebCore::constructWebGLArray): + - Clarified exception types and throwing of exceptions along all error code paths. + * html/canvas/TypedArrayBase.h: + (WebCore::TypedArrayBase::create): + - Added necessary null checks during allocation. + +2010-06-17 Shu Chang <chang.shu@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Fix the link error on symbian with ENABLE_JIT=0. + 1. Add "#if ENABLE(JIT)" in the header file; + 2. Put feature enable/disable logic to a common.pri so + that both JavaScriptCore.pri and WebCore.pri can share. + + https://bugs.webkit.org/show_bug.cgi?id=40780 + + * WebCore.pri: + +2010-06-17 Kenneth Russell <kbr@google.com> + + Reviewed by Oliver Hunt. + + Differences in error reporting for overloaded methods causing fast/canvas/webgl/texImageTest.html to fail + https://bugs.webkit.org/show_bug.cgi?id=40750 + + Added V8Proxy::throwTypeError() and throwSyntaxError for parity + with JSC::throwTypeError() and throwSyntaxError. Changed + CodeGeneratorV8.pm to use throwTypeError for overload resolution + failures. Revised CodeGeneratorJS.pm to use throwVMTypeError + instead of manual call to JSValue::encode. Deleted now-unnecessary + Chromium expectations for fast/canvas/webgl/texImageTest.html. + + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::throwTypeError): + (WebCore::V8Proxy::throwSyntaxError): + * bindings/v8/V8Proxy.h: + +2010-06-17 Darin Fisher <darin@chromium.org> + + Reviewed by Brady Eidson. + + If Page::goToItem is passed a HistoryItem that is the current item, + then the page should be loaded again. + + https://bugs.webkit.org/show_bug.cgi?id=40660 + + * loader/HistoryController.cpp: + (WebCore::HistoryController::recursiveGoToItem): Add a check to + recursiveGoToItem that matches the one in FrameLoader::loadItem. + +2010-06-17 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Kent Tamura. + + [BREWMP] Build fix for DragDataBrew + https://bugs.webkit.org/show_bug.cgi?id=40610 + + http://trac.webkit.org/changeset/60957 was not applied to DragDataBrew.cpp. + Add FilenameConversionPolicy argument to DragData::containsURL and DragData::asURL. + + * platform/brew/DragDataBrew.cpp: + (WebCore::DragData::containsURL): + (WebCore::DragData::asURL): + +2010-06-17 Zhenyao Mo <zmo@google.com> + + Reviewed by David Levin. + + Rename internalformat to internalFormat + https://bugs.webkit.org/show_bug.cgi?id=40149 + + * html/canvas/WebGLFramebuffer.cpp: Rename internalformat to internalFormat. + (WebCore::WebGLFramebuffer::getColorBufferFormat): + * html/canvas/WebGLRenderbuffer.cpp: Ditto. + (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): + * html/canvas/WebGLRenderbuffer.h: Ditto. + (WebCore::WebGLRenderbuffer::setInternalFormat): + (WebCore::WebGLRenderbuffer::getInternalFormat): + * html/canvas/WebGLRenderingContext.cpp: Ditto. + (WebCore::WebGLRenderingContext::copyTexImage2D): + (WebCore::WebGLRenderingContext::copyTexSubImage2D): + (WebCore::WebGLRenderingContext::framebufferRenderbuffer): + (WebCore::WebGLRenderingContext::getRenderbufferParameter): + (WebCore::WebGLRenderingContext::renderbufferStorage): + (WebCore::WebGLRenderingContext::texImage2DBase): + (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid): + * html/canvas/WebGLRenderingContext.h: Ditto. + * html/canvas/WebGLTexture.cpp: Ditto. + (WebCore::WebGLTexture::WebGLTexture): + * html/canvas/WebGLTexture.h: Ditto. + (WebCore::WebGLTexture::setInternalFormat): + (WebCore::WebGLTexture::getInternalFormat): + +2010-06-17 Zhenyao Mo <zmo@google.com> + + Reviewed by David Levin. + + Remove input parameter validation for "level" upper limit in *tex* functions + https://bugs.webkit.org/show_bug.cgi?id=40603 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::validateTexFuncParameters): Don't check for "level" upper limit. + +2010-06-17 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Reviewed by Eric Seidel. + + Clean EFL header files in order to diminish the compilation time with + EFL from subversion. We remove the EFL includes from header files and use + forward declarations, including the headers in correspondent source + files when needed. This causes only the needed source files to be + recompiled in case a new version of EFL is installed instead of + triggering a recompilation of almost all WebCore/WebKit. + https://bugs.webkit.org/show_bug.cgi?id=40575 + + No new functionalities, so no new tests. + + * CMakeListsEfl.txt: + * platform/PlatformKeyboardEvent.h: forward declaration. + * platform/PlatformMouseEvent.h: forward declaration and change method + signature to not require enum. + * platform/PlatformWheelEvent.h: forward declaration. + * platform/Widget.h: forward declaration. + * platform/efl/PlatformKeyboardEventEfl.cpp: include needed header. + * platform/efl/PlatformMouseEventEfl.cpp: + (WebCore::PlatformMouseEvent::setClickCount): change method signature + as mentioned above. + * platform/efl/PlatformWheelEventEfl.cpp: include needed header. + * platform/efl/RenderThemeEfl.cpp: include needed header + * platform/efl/RenderThemeEfl.h: forward declaration. + * platform/efl/ScrollbarEfl.cpp: include needed header. + * platform/efl/ScrollbarEfl.h: forward declaration. + * platform/efl/WidgetEfl.cpp: include needed header. + * platform/graphics/FloatRect.h: remove unused method. + * platform/graphics/Icon.h: forward declaration. + * platform/graphics/IntRect.h: remove unused method. + * platform/graphics/efl/FloatRectEfl.cpp: Removed. This file was + implementing an unused method. + * platform/graphics/efl/IntRectEfl.cpp: Removed. This file was + implementing an unused method. + +2010-06-17 Alex Milowski <alex@milowski.com> + + Reviewed by Darin Adler. + + Fixed a compile error in the paint() methods by making them use the + new visitedDependentColor() method. + https://bugs.webkit.org/show_bug.cgi?id=40327 + + * mathml/RenderMathMLRoot.cpp: + (WebCore::RenderMathMLRoot::paint): + (WebCore::RenderMathMLRoot::layout): Fixed a crash where every child + was assumed to be a RenderMathMLBlock instance when that isn't the + case. Also, layout() needed to mark the index for layout before + calling layout() on the index. + * mathml/RenderMathMLSquareRoot.cpp: + (WebCore::RenderMathMLSquareRoot::paint): + +2010-06-17 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Use adoptRef and create functions in more code paths + https://bugs.webkit.org/show_bug.cgi?id=40760 + + This helps prepare for an assertion that fires if you ref or destroy an + object before calling adoptRef on it. That will help us catch mistakes + that can lead to storage leaks. + + * WebCore.base.exp: Updated export now that Frame::create is not an + inline function. + + * css/CSSInitialValue.h: + (WebCore::CSSInitialValue::createExplicit): Use create. + (WebCore::CSSInitialValue::createImplicit): Ditto. + (WebCore::CSSInitialValue::create): Added. + + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::createUncachedIdentifier): Added. + (WebCore::CSSPrimitiveValue::createUncachedColor): Added. + (WebCore::CSSPrimitiveValue::createUncached): Added. + (WebCore::CSSPrimitiveValue::createIdentifier): Use createUncachedIdentifier + instead of using new directly. + (WebCore::CSSPrimitiveValue::createColor): Use createUncachedColor instead + of using new directly. + (WebCore::CSSPrimitiveValue::create): Use createdUncached instead of using + new directly. + * css/CSSPrimitiveValue.h: Declare the new functions above. + + * css/CSSStyleSelector.cpp: + (WebCore::loadFullDefaultStyle): Deref simpleDefaultStyleSheet instead of + explicitly deleting it. + + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::SubresourceLoader): Move the call to + addSubresourceLoader out of here. + (WebCore::SubresourceLoader::create): Move it in here. This makes it so + we don't ref the loader before finishing its creation and calling adoptRef. + + * page/Frame.cpp: + (WebCore::Frame::Frame): Move the call to setMainFrame out of here. + Also refactor the code so an assertion is easier to read. + (WebCore::Frame::create): Move the call to setMainFrame in here. + This makes it so we don't ref the frame before finishing its creation + and calling adoptRef. + * page/Frame.h: Made the create function non-inline. + + * platform/text/BidiContext.cpp: + (WebCore::BidiContext::createUncached): Added. + (WebCore::BidiContext::create): Call createUncached instead of callling + new directly. + * platform/text/BidiContext.h: Declare createUncached. + + * rendering/RenderSVGResourceFilter.cpp: + (WebCore::RenderSVGResourceFilter::buildPrimitives): Use PassRefPtr and + RefPtr instead of OwnPtr. And use the create function instead of new. + * rendering/RenderSVGResourceFilter.h: Ditto. + * rendering/SVGRenderTreeAsText.cpp: + (WebCore::writeSVGResourceContainer): Ditto. + + * storage/StorageAreaImpl.cpp: + (WebCore::StorageAreaImpl::StorageAreaImpl): Move the code that calls + StorageAreaSync::create out of here. + (WebCore::StorageAreaImpl::create): Move it in here. This makes it so we + don't ref the storage area before finishing its creation and calling adoptRef. + + * svg/SVGPaint.cpp: + (WebCore::SVGPaint::defaultFill): Use create instead of new. + (WebCore::SVGPaint::defaultStroke): Ditto. + + * svg/graphics/filters/SVGFilterBuilder.h: Made the constructor private + and added a create function since this is a reference counted object and + should not be constructed directly. + +2010-06-17 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Reviewed by Gustavo Noronha. + + Update CMake build system to use new script for generating source files + with gperf (r61091). + This updates also the build system to cope with recent changes to + source files list. + https://bugs.webkit.org/show_bug.cgi?id=40628 + + No new tests since it's just compilation fixes. + + * CMakeLists.txt: + +2010-06-17 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Fix boolean reflected attributes to use empty string consistently for the content attribute value + https://bugs.webkit.org/show_bug.cgi?id=40758 + + Test: fast/dom/boolean-attribute-reflection.html + + The HTML5 specification and other browsers are all consistent: + When setting a boolean IDL attribute to true, the attribute value + gets set to the empty string. The guidelines for authors allow either + the empty string or the name of the attribute, but for implementers + of the DOM, the reflected attribute gets empty string. + + * dom/Element.cpp: + (WebCore::Element::setBooleanAttribute): Use emptyAtom to set the + attribute to the empty string. + + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::setAutofocus): Use the empty string, + not "autofocus". + (WebCore::HTMLFormControlElement::setRequired): Use the empty string, + not "required". + +2010-06-17 Pavel Feldman <pfeldman@chromium.org> + + Unreviewed: chromium tests fix. Added InspectorBackend delegates for new inspector methods. + + * inspector/front-end/InspectorBackendStub.js: + (.WebInspector.InspectorBackendStub.prototype.clearConsoleMessages): + (.WebInspector.InspectorBackendStub.prototype.getOuterHTML): + (.WebInspector.InspectorBackendStub.prototype.setOuterHTML): + (.WebInspector.InspectorBackendStub.prototype.addInspectedNode): + +2010-06-17 Mark Brand <mabrand@mabrand.nl> + + Reviewed by Simon Hausmann. + + [Qt] use "win32-g++*" scope to match all MinGW makespecs + + The scope "win32-g++" comes from the name of the makespec. However, it + is frequently used to check for MinGW. This works fine as long as + win32-g++ is the only makespec for MinGW. Now we need the wildcard + to cover "win32-g++-cross" as well. + + * WebCore.pro: + +2010-06-16 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Joe Pecoraro. + + Web Inspector: move get/setOuterHTML, addInspectedNode and + clearConsole to native InspectorDOMAgent. This is done to allow + inspected nodes array to store nodes from different domains, + also moves outerhtml manipulation closer to the rest of the DOM + operations. In addition to that, we are slowly getting rid of + InjectedScriptAccess in favor of IDL-defined InspectorBackend + interface for clearer remote debugging API. + + https://bugs.webkit.org/show_bug.cgi?id=40733 + + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::inspectedNode): + * inspector/InjectedScriptHost.h: + * inspector/InspectorBackend.cpp: + (WebCore::InspectorBackend::changeTagName): + (WebCore::InspectorBackend::getOuterHTML): + (WebCore::InspectorBackend::setOuterHTML): + (WebCore::InspectorBackend::addInspectedNode): + (WebCore::InspectorBackend::clearConsoleMessages): + * inspector/InspectorBackend.h: + * inspector/InspectorBackend.idl: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::inspectedNode): + (WebCore::InspectorDOMAgent::changeTagName): + (WebCore::InspectorDOMAgent::getOuterHTML): + (WebCore::InspectorDOMAgent::setOuterHTML): + (WebCore::InspectorDOMAgent::addInspectedNode): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::didGetOuterHTML): + (WebCore::InspectorFrontend::didSetOuterHTML): + * inspector/InspectorFrontend.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.requestClearMessages): + * inspector/front-end/DOMAgent.js: + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): + (WebInspector.ElementsPanel): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback): + (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted): + (): + * inspector/front-end/InjectedScript.js: + (injectedScriptConstructor): + * inspector/front-end/InjectedScriptAccess.js: + +2010-06-17 John Gregg <johnnyg@google.com> + + Reviewed by David Levin. + + Move the call to the notification presenter that a Notification is being + destroyed from the destructor (not safe) to the ActiveDOMObject::contextDestroyed + method. + + Also fix up an incorrect reference loss in the V8 bindings code for Notifications. + https://bugs.webkit.org/show_bug.cgi?id=40097 + + No new tests; code paths are well-covered by existing tests. + + * bindings/v8/custom/V8NotificationCenterCustom.cpp: + (WebCore::V8NotificationCenter::createHTMLNotificationCallback): + (WebCore::V8NotificationCenter::createNotificationCallback): + * notifications/Notification.cpp: + (WebCore::Notification::~Notification): + (WebCore::Notification::contextDestroyed): + * notifications/Notification.h: + +2010-06-17 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed rollout r61311, because it made 2 tests fail on Qt bot. + + [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved + https://bugs.webkit.org/show_bug.cgi?id=36702 + + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::updatePluginWidget): + +2010-05-28 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> + + Reviewed by Simon Hausmann, Antti Koivisto + + Make repaint throttling parameters runtime configurable. + https://bugs.webkit.org/show_bug.cgi?id=38401 + + REPAINT_THROTTLING now chooses default values for throttling parameters. + Should be removed when applications start using runtime configuration. + + * page/FrameView.cpp: + (WebCore::FrameView::reset): + (WebCore::FrameView::updateDeferredRepaintDelay): + (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelay): + (WebCore::FrameView::setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading): + (WebCore::FrameView::setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading): + (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading): + * page/FrameView.h: + +2010-06-17 Robert Hogan <robert@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved + + https://bugs.webkit.org/show_bug.cgi?id=36702 + + setNPWindowIfNeeded() is called on paint() in PluginViewQt, which doesn't + work for DRT. So call it if we are in DRT mode and the window geometry + has changed. + + Unskips plugins/reentrant-update-widget-positions.html + + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::updatePluginWidget): + +2010-06-17 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Kenneth Christiansen. + + [Qt] Avoid unnecessary calls to save() and restore() when drawing images + + Avoid calling the expensive save() and restore() on the GraphicsContext just + for changing the composition mode. Instead save and restore it manually + on QPainter. + + Change fac227f609e544f8f55aca8447b4328d6534407a in Qt makes sure that the + call to QPainter::setCompositionMode doesn't do anything if the mode hasn't + changed. + + * platform/graphics/GraphicsContext.h: + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::toQtCompositionMode): + * platform/graphics/qt/ImageQt.cpp: + (WebCore::BitmapImage::draw): + +2010-06-16 Dawit Alemayehu <adawit@kde.org> + + Reviewed by Simon Hausmann. + + [Qt] QtWebKit crashes while initializing flash plugin 10.1.53.64. + https://bugs.webkit.org/show_bug.cgi?id=40567 + + Avoid preventable crashes by ensuring gtk_init() is called in the + flash viewer plugins before calling NP_Initialize. + + * plugins/qt/PluginPackageQt.cpp: + (WebCore::PluginPackage::load): + +2010-06-16 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by David Levin. + + Guarantee that references are held for CachedScripts in HTMLDocumentParser. + https://bugs.webkit.org/show_bug.cgi?id=40177 + + No new tests because no new functionality. + + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::reset): + (WebCore::HTMLDocumentParser::executeExternalScriptsIfReady): + +2010-06-16 Qi Zhang <qi.2.zhang@nokia.com> + + Reviewed by Laszlo Gombos. + + [Qt] Repeat pattern should start from origin + https://bugs.webkit.org/show_bug.cgi?id=39225 + + Patterns must be painted so that the top left of the first image + is anchored at the origin of the coordinate space. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::drawRepeatPattern): + (WebCore::GraphicsContext::fillRect): + +2010-06-16 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com> + + Reviewed by Simon Hausmann. + + [Qt] WebGL viewport does not show up on N900 + https://bugs.webkit.org/show_bug.cgi?id=38528 + + With OGLES2 add default precision to the shader code. + Use GLsizeiptr and GLintptr with OGLES2. + Call paint() in beginPaint() so that drawTexture() is used + whenever possible. + + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3D::beginPaint): + (WebCore::GraphicsContext3D::paint): + (WebCore::GraphicsContext3D::shaderSource): + +2010-06-16 Antonio Gomes <tonikitoo@webkit.org> + + Reviewed by Simon Fraser. + + Spatial Navigation: refactor scrollInDirection to work with scrollable content + https://bugs.webkit.org/show_bug.cgi?id=39195 + + scrollInDirection now receives as parameter the node that the Spatial Navigation + found as the more appropriated to move focus to. If it is in a scrollable container + (e.g. <div> with clipped overflow content), it scrolls recursively starting from + the container, not the current focused node. + + Test: fast/events/spatial-navigation/snav-only-clipped-overflow-content.html + + * page/FocusController.cpp: + (WebCore::FocusController::advanceFocusDirectionally): + * page/SpatialNavigation.cpp: + (WebCore::scrollInDirection): + * page/SpatialNavigation.h: + +2010-06-16 Brady Eidson <beidson@apple.com> + + Reviewed by Eric Carlson + + <rdar://problem/7249553> and https://bugs.webkit.org/show_bug.cgi?id=40749 + ResourceLoader::willCacheResponse() needs to null-check Frame::Settings() + + No new tests. (Discovered via crash reports, no reproducible cases noted) + + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::willCacheResponse): Null check m_frame->settings(), + but also add an ASSERT so debug-build developers can learn more about why + this might be happening. + +2010-06-16 Darin Adler <darin@apple.com> + + Try to fix the MathML build. + + * mathml/MathMLMathElement.h: Added missing return type. + +2010-06-16 Darin Adler <darin@apple.com> + + Reviewed by David Levin. + + Deploy adoptRef in more places, including all HTML and MathML elements + https://bugs.webkit.org/show_bug.cgi?id=39941 + + * dom/Element.cpp: + (WebCore::Element::dispatchAttrRemovalEvent): Use create instead of new + in commented-out code. + (WebCore::Element::dispatchAttrAdditionEvent): Ditto. + + * dom/Node.h: Removed now-unused CreateElementZeroRefCount and + CreateHTMLElementZeroRefCount. + + * editing/InsertListCommand.cpp: + (WebCore::InsertListCommand::insertList): Use create instead of new, fixing + a storage leak. + + * editing/ModifySelectionListLevel.cpp: + (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevel): + Removed "WithType" from function name. Use create instead of new, fixing a + storage leak. + (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Use + create instead of new, fixing a storage leak. + + * storage/IndexedDatabaseImpl.cpp: + (WebCore::IndexedDatabaseImpl::create): Use adoptRef, fixing a storage leak. + + * editing/ModifySelectionListLevel.h: Added create functions. + + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::HTMLAnchorElement): + * html/HTMLFrameOwnerElement.cpp: + (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): + * html/HTMLMeterElement.cpp: + (WebCore::HTMLMeterElement::HTMLMeterElement): + * html/HTMLProgressElement.cpp: + (WebCore::HTMLProgressElement::HTMLProgressElement): + Removed code to explicitly pass CreateHTMLElement construction type since that's + now the type used for all HTML elements. + + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::HTMLFormControlElement): + * html/HTMLFormControlElement.h: + Removed construction type argument, since CreateHTMLElement is now the type used + for all HTML elements. + + * mathml/MathMLElement.cpp: + (WebCore::MathMLElement::MathMLElement): Removed construction type of + CreateStyledElementZeroRefCount so we'll use the default construction + type, CreateStyledElement. + (WebCore::MathMLElement::create): Use adoptRef. + + * mathml/MathMLElement.h: Made isMathMLElement function private and + removed unneeded override of createRenderer, because it did the + same thing as the base class's createRenderer function. + + * mathml/MathMLInlineContainerElement.cpp: + (WebCore::MathMLInlineContainerElement::create): Use adoptRef. + (WebCore::MathMLInlineContainerElement::createRenderer): + Removed unnecessarily initialization of local variable and removed the + case for mathTag, since that uses a different derived class. + + * mathml/MathMLInlineContainerElement.h: Made createRenderrer override + private. + + * mathml/MathMLMathElement.cpp: + (WebCore::MathMLMathElement::MathMLMathElement): Marked inline since + it is called in only one place. + (WebCore::MathMLMathElement::create): Use adoptRef. + (WebCore::MathMLMathElement::createRenderer): Added. Creates a + RenderMathMLMath object. + + * mathml/MathMLMathElement.h: Made constructor private and added a + private override of createRenderer. + + * mathml/MathMLTextElement.cpp: + (WebCore::MathMLTextElement::MathMLTextElement): Marked inline since + it is called in only one place. + (WebCore::MathMLTextElement::create): Use adoptRef. + (WebCore::MathMLTextElement::createRenderer): Changed to call through + to the base class instead of calling RenderObject::createObject directly. + + * mathml/MathMLTextElement.h: Made the constructor and createRenderer + function private. + + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::RenderFileUploadControl): + Removed an unneeded initializer. + + * rendering/RenderProgress.cpp: Tweaked includes. + + * rendering/ShadowElement.cpp: Added a "using namespace" directive. + * rendering/ShadowElement.h: Tweaked formatting. Made more functions + private. + + * editing/DeleteButton.cpp: + (WebCore::DeleteButton::create): + * html/HTMLAudioElement.cpp: + (WebCore::HTMLAudioElement::create): + (WebCore::HTMLAudioElement::createForJSConstructor): + * html/HTMLBRElement.cpp: + (WebCore::HTMLBRElement::create): + * html/HTMLBaseElement.cpp: + (WebCore::HTMLBaseElement::create): + * html/HTMLBaseFontElement.cpp: + (WebCore::HTMLBaseFontElement::create): + * html/HTMLBlockquoteElement.cpp: + (WebCore::HTMLBlockquoteElement::create): + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::create): + * html/HTMLButtonElement.cpp: + (WebCore::HTMLButtonElement::create): + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::create): + * html/HTMLDListElement.cpp: + (WebCore::HTMLDListElement::create): + * html/HTMLDataGridCellElement.cpp: + (WebCore::HTMLDataGridCellElement::create): + * html/HTMLDataGridColElement.cpp: + (WebCore::HTMLDataGridColElement::create): + * html/HTMLDataGridElement.cpp: + (WebCore::HTMLDataGridElement::create): + * html/HTMLDataGridRowElement.cpp: + (WebCore::HTMLDataGridRowElement::create): + * html/HTMLDataListElement.cpp: + (WebCore::HTMLDataListElement::create): + * html/HTMLDivElement.cpp: + (WebCore::HTMLDivElement::create): + * html/HTMLElement.cpp: + (WebCore::HTMLElement::create): + * html/HTMLElement.h: + (WebCore::HTMLElement::HTMLElement): + * html/HTMLFieldSetElement.cpp: + (WebCore::HTMLFieldSetElement::create): + * html/HTMLFontElement.cpp: + (WebCore::HTMLFontElement::create): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::create): + * html/HTMLFrameSetElement.cpp: + (WebCore::HTMLFrameSetElement::create): + * html/HTMLHRElement.cpp: + (WebCore::HTMLHRElement::create): + * html/HTMLHeadElement.cpp: + (WebCore::HTMLHeadElement::create): + * html/HTMLHeadingElement.cpp: + (WebCore::HTMLHeadingElement::create): + * html/HTMLHtmlElement.cpp: + (WebCore::HTMLHtmlElement::create): + * html/HTMLImageElement.cpp: + (WebCore::HTMLImageElement::create): + (WebCore::HTMLImageElement::createForJSConstructor): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::create): + * html/HTMLIsIndexElement.cpp: + (WebCore::HTMLIsIndexElement::create): + * html/HTMLKeygenElement.cpp: + (WebCore::HTMLKeygenElement::create): + * html/HTMLLIElement.cpp: + (WebCore::HTMLLIElement::create): + * html/HTMLLabelElement.cpp: + (WebCore::HTMLLabelElement::create): + * html/HTMLLegendElement.cpp: + (WebCore::HTMLLegendElement::create): + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::create): + * html/HTMLMapElement.cpp: + (WebCore::HTMLMapElement::create): + * html/HTMLMarqueeElement.cpp: + (WebCore::HTMLMarqueeElement::create): + * html/HTMLMenuElement.cpp: + (WebCore::HTMLMenuElement::create): + * html/HTMLMetaElement.cpp: + (WebCore::HTMLMetaElement::create): + * html/HTMLModElement.cpp: + (WebCore::HTMLModElement::create): + * html/HTMLNoScriptElement.cpp: + (WebCore::HTMLNoScriptElement::create): + * html/HTMLOListElement.cpp: + (WebCore::HTMLOListElement::create): + * html/HTMLOptGroupElement.cpp: + (WebCore::HTMLOptGroupElement::create): + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::create): + (WebCore::HTMLOptionElement::createForJSConstructor): + * html/HTMLParagraphElement.cpp: + (WebCore::HTMLParagraphElement::create): + * html/HTMLParamElement.cpp: + (WebCore::HTMLParamElement::create): + * html/HTMLPreElement.cpp: + (WebCore::HTMLPreElement::create): + * html/HTMLQuoteElement.cpp: + (WebCore::HTMLQuoteElement::create): + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::create): + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::create): + * html/HTMLSourceElement.cpp: + (WebCore::HTMLSourceElement::create): + * html/HTMLStyleElement.cpp: + (WebCore::HTMLStyleElement::create): + * html/HTMLTableCaptionElement.cpp: + (WebCore::HTMLTableCaptionElement::create): + * html/HTMLTableCellElement.cpp: + (WebCore::HTMLTableCellElement::create): + * html/HTMLTableColElement.cpp: + (WebCore::HTMLTableColElement::create): + * html/HTMLTableElement.cpp: + (WebCore::HTMLTableElement::create): + * html/HTMLTableRowElement.cpp: + (WebCore::HTMLTableRowElement::create): + * html/HTMLTableSectionElement.cpp: + (WebCore::HTMLTableSectionElement::create): + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::create): + * html/HTMLTitleElement.cpp: + (WebCore::HTMLTitleElement::create): + * html/HTMLUListElement.cpp: + (WebCore::HTMLUListElement::create): + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::create): + * loader/ImageDocument.cpp: + (WebCore::ImageDocumentElement::create): + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlShadowRootElement::create): + (WebCore::MediaControlElement::create): + (WebCore::MediaControlTimelineContainerElement::create): + (WebCore::MediaControlVolumeSliderContainerElement::create): + (WebCore::MediaControlStatusDisplayElement::create): + (WebCore::MediaControlMuteButtonElement::create): + (WebCore::MediaControlPlayButtonElement::create): + (WebCore::MediaControlSeekButtonElement::create): + (WebCore::MediaControlRewindButtonElement::create): + (WebCore::MediaControlReturnToRealtimeButtonElement::create): + (WebCore::MediaControlToggleClosedCaptionsButtonElement::create): + (WebCore::MediaControlTimelineElement::create): + (WebCore::MediaControlVolumeSliderElement::create): + (WebCore::MediaControlFullscreenButtonElement::create): + (WebCore::MediaControlTimeDisplayElement::create): + * rendering/RenderSlider.cpp: + (WebCore::SliderThumbElement::create): + * rendering/TextControlInnerElements.cpp: + (WebCore::TextControlInnerElement::create): + (WebCore::TextControlInnerTextElement::create): + (WebCore::SearchFieldResultsButtonElement::create): + (WebCore::SearchFieldCancelButtonElement::create): + (WebCore::SpinButtonElement::create): + Use adoptRef. + +2010-06-16 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + HTML5 parser crash when setTimeout document.write after slow script + https://bugs.webkit.org/show_bug.cgi?id=40726 + + According to the HTML5 spec, we're supposed to open() a new document if + we receive a document.write() after we've received EOF for the network. + The old parser just dumped those bytes onto the end of the network + stream. After this patch, our behavior matches Minefield. + + Test: http/tests/misc/write-while-waiting.html + + * WebCore.xcodeproj/project.pbxproj: + * dom/Document.cpp: + (WebCore::Document::write): + * dom/DocumentParser.h: + * dom/XMLDocumentParser.cpp: + (WebCore::XMLDocumentParser::finishWasCalled): + * dom/XMLDocumentParser.h: + * html/HTML5DocumentParser.cpp: + (WebCore::HTML5DocumentParser::finishWasCalled): + * html/HTML5DocumentParser.h: + (WebCore::HTML5DocumentParser::InputStream::isClosed): + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::finishWasCalled): + * html/HTMLDocumentParser.h: + * loader/ImageDocument.cpp: + (WebCore::ImageTokenizer::finishWasCalled): + * loader/MediaDocument.cpp: + (WebCore::MediaDocumentParser::finishWasCalled): + * loader/PluginDocument.cpp: + (WebCore::PluginDocumentParser::finishWasCalled): + * loader/SinkDocument.cpp: + (WebCore::SinkDocumentParser::finishWasCalled): + * loader/TextDocument.cpp: + (WebCore::TextDocumentParser::finishWasCalled): + +2010-06-16 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] ClipboardGtk::setURL does not match the behavior of other platforms + https://bugs.webkit.org/show_bug.cgi?id=40640 + + Instead of writing URL labels to the text portion of the clipboard or + drag-and-drop data, write the URL itself. Also escape the label text + of URLs. Abstracts logic into DataObjectGtk, so ClipboardGtk and + PasteboardGtk can share it. + + Tests for this issue will be activated when dropping support has been + added to the GTK+ EventSender. + + * platform/gtk/ClipboardGtk.cpp: + (WebCore::ClipboardGtk::writeURL): Use DataObjectGtk::setURL. + * platform/gtk/DataObjectGtk.cpp: + (WebCore::DataObjectGtk::setURL): + Added. Write URL to the text portion and remember to escape the + label when creating the markup portion. + * platform/gtk/DataObjectGtk.h: Add declaration of new method. + * platform/gtk/PasteboardGtk.cpp: + (WebCore::Pasteboard::writeURL): Use DataObjectGtk::setURL. + +2010-06-16 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Hit assertion in WebCore::HTML5Token::appendToSystemIdentifier + https://bugs.webkit.org/show_bug.cgi?id=40729 + + This was a copy/paste error. Yay for ASSERTs. + + * html/HTML5Lexer.cpp: + (WebCore::HTML5Lexer::nextToken): + +2010-06-16 Stuart Morgan <stuartmorgan@chromium.org> + + Reviewed by Anders Carlsson. + + Bring npapi.h more in line with upstream npapi-headers version: + - Remove obsolete XP_MAC sections. + - Remove Metrowerks defines. + - Add OS/2 defines. + - Add Maemo defines. + - Add new version of the custom Carbon event definitions. + - Sync platform define style/details + + https://bugs.webkit.org/show_bug.cgi?id=38666 + + * bridge/npapi.h: + +2010-06-16 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + Allow transitions and animations of clip: rect + https://bugs.webkit.org/show_bug.cgi?id=38130 + + Make the CSS clip property animatable. + + Test: transitions/clip-transition.html + + * page/animation/AnimationBase.cpp: + (WebCore::blendFunc): New blend function for LengthBox + (WebCore::AnimationBase::ensurePropertyMap): Create a PropertyWrapper for LengthBoxes. + + * platform/LengthBox.h: + (WebCore::LengthBox::LengthBox): New ctor that takes 4 length values. + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::setClip): New method that takes a LengthBox. + +2010-06-16 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Fix clipping via CSS clip: with composited descendants + https://bugs.webkit.org/show_bug.cgi?id=40579 + + Consult the 'clip' style, as well as overflow, when creating clipping + compositing layers. + + Tests: compositing/geometry/clip.html + compositing/overflow/clip-descendents.html + + * rendering/RenderLayerBacking.cpp: + (WebCore::clipBox): Utility function that returns the union of the clip and overflow + boxes. + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Use clipBox() to + get the correct clipping rectangle. + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer): Look for + clip as well as overflow. + (WebCore::RenderLayerCompositor::clipsCompositingDescendants): Ditto. + +2010-06-16 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + REGRESSION: Undocked inspector toolbar is white + https://bugs.webkit.org/show_bug.cgi?id=40644 + + Make the html element 100% height so that we don't erase the background to white, after r61215. + + * inspector/front-end/inspector.css: + (html): + +2010-06-16 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Darin Adler. + + User scripts injected on start are not run on image documents. + https://bugs.webkit.org/show_bug.cgi?id=40722 + <rdar://8087394> + + User scripts that are injected on start are run from FrameLoader::dispatchDocumentElementAvailable, + but this is never called from ImageDocument, so call it when we create a document element for + our image document. + + * loader/ImageDocument.cpp: + (WebCore::ImageDocument::createDocumentStructure): Call FrameLoader::dispatchDocumentElementAvailable + after creating our document element. + +2010-06-16 Brady Eidson <beidson@apple.com> + + Reviewed by NOBODY (Build fix for Mac) + + * WebCore.xcodeproj/project.pbxproj: Make paths relative to the project root. + +2010-06-16 Chris Marrin <cmarrin@apple.com> + + Reviewed by Eric Carlson. + + https://bugs.webkit.org/show_bug.cgi?id=40643 + + Second of three steps - rename Canvas3DLayer to WebGLLayer + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/mac/Canvas3DLayer.h: Removed. + * platform/graphics/mac/Canvas3DLayer.mm: Removed. + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): + * platform/graphics/mac/WebGLLayer.h: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.h. + * platform/graphics/mac/WebGLLayer.mm: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.mm. + +2010-06-16 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=40643 + + Rename GraphicsContext3DMac.cpp so it can interact with CALayer + + * platform/graphics/mac/GraphicsContext3DMac.cpp: Removed. + * platform/graphics/mac/GraphicsContext3DMac.mm: Copied from WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp. + * WebCore.xcodeproj/project.pbxproj + +2010-06-16 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Add new files, needed in SVG Text rewrite + https://bugs.webkit.org/show_bug.cgi?id=40676 + + Land SVGTextChunkLayoutInfo.cpp and SVGTextQuery.(cpp|h), both with an "#if 0" on top, as they will be needed + in a later patch, completing the SVG Text rewrite, that will enable them. + + Doesn't affect any code for now, it should just reduce the review amount. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * rendering/SVGTextChunkLayoutInfo.cpp: Added. + (WebCore::cummulatedWidthOrHeightOfTextChunk): + (WebCore::cummulatedWidthOfTextChunk): + (WebCore::cummulatedHeightOfTextChunk): + (WebCore::calculateTextAnchorShiftForTextChunk): + (WebCore::applyTextAnchorToTextChunk): + (WebCore::calculateTextLengthCorrectionForTextChunk): + (WebCore::applyTextLengthCorrectionToTextChunk): + (WebCore::SVGTextChunkLayoutInfo::startTextChunk): + (WebCore::SVGTextChunkLayoutInfo::closeTextChunk): + (WebCore::SVGTextChunkLayoutInfo::buildTextChunks): + (WebCore::SVGTextChunkLayoutInfo::recursiveBuildTextChunks): + (WebCore::SVGTextChunkLayoutInfo::layoutTextChunks): + * rendering/SVGTextChunkLayoutInfo.h: Add missing include, otherwhise compiling SVGTextChunkLayoutInfo.cpp will fail. + * rendering/SVGTextQuery.cpp: Added. + (WebCore::SVGTextQuery::Data::Data): + (WebCore::flowBoxForRenderer): + (WebCore::mapLengthThroughChunkTransformation): + (WebCore::SVGTextQuery::SVGTextQuery): + (WebCore::SVGTextQuery::collectTextBoxesInFlowBox): + (WebCore::SVGTextQuery::executeQuery): + (WebCore::SVGTextQuery::mapStartAndLengthIntoChunkPartCoordinates): + (WebCore::SVGTextQuery::measureCharacterRange): + (WebCore::NumberOfCharactersData::NumberOfCharactersData): + (WebCore::SVGTextQuery::numberOfCharactersCallback): + (WebCore::SVGTextQuery::numberOfCharacters): + (WebCore::TextLengthData::TextLengthData): + (WebCore::SVGTextQuery::textLengthCallback): + (WebCore::SVGTextQuery::textLength): + (WebCore::SubStringLengthData::SubStringLengthData): + (WebCore::SVGTextQuery::subStringLengthCallback): + (WebCore::SVGTextQuery::subStringLength): + (WebCore::StartPositionOfCharacterData::StartPositionOfCharacterData): + (WebCore::SVGTextQuery::startPositionOfCharacterCallback): + (WebCore::SVGTextQuery::startPositionOfCharacter): + (WebCore::EndPositionOfCharacterData::EndPositionOfCharacterData): + (WebCore::SVGTextQuery::endPositionOfCharacterCallback): + (WebCore::SVGTextQuery::endPositionOfCharacter): + (WebCore::RotationOfCharacterData::RotationOfCharacterData): + (WebCore::SVGTextQuery::rotationOfCharacterCallback): + (WebCore::SVGTextQuery::rotationOfCharacter): + (WebCore::ExtentOfCharacterData::ExtentOfCharacterData): + (WebCore::SVGTextQuery::extentOfCharacterCallback): + (WebCore::SVGTextQuery::extentOfCharacter): + (WebCore::CharacterNumberAtPositionData::CharacterNumberAtPositionData): + (WebCore::SVGTextQuery::characterNumberAtPositionCallback): + (WebCore::SVGTextQuery::characterNumberAtPosition): + * rendering/SVGTextQuery.h: Added. + +2010-06-16 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Provide floating-point support for text selection framework + https://bugs.webkit.org/show_bug.cgi?id=40665 + + This is the first chunk of the SVG Text rewrite patches. + offsetForPosition() / selectionRectForText() should accept float/FloatPoint arguments instead + of int/IntPoint. offsetForPosition() already worked with floats internally in Qt and Mac. + selectionRectForText() was already returning a FloatRect, but the passed in origin was an integer. + Fixing these problems in order to support sub-pixel positioning in the upcoming SVG Text rewrite patch. + + Add a glyphScale parameter to TextRun, that will be used to support text selection + in lengthAdjust/textLength scenarios in SVG text, soon. + + Doesn't affect any testcases so far. HTML is not affected in any way, + as it only ever passes integers to these functions. + + * platform/graphics/Font.cpp: + (WebCore::Font::selectionRectForText): + (WebCore::Font::offsetForPosition): + * platform/graphics/Font.h: + * platform/graphics/FontFastPath.cpp: + (WebCore::Font::selectionRectForSimpleText): + (WebCore::Font::offsetForPositionForSimpleText): + * platform/graphics/TextRun.h: + (WebCore::TextRun::TextRun): + (WebCore::TextRun::glyphScale): + (WebCore::TextRun::setGlyphScale): + (WebCore::TextRun::applyGlyphScaling): + * platform/graphics/WidthIterator.cpp: + (WebCore::WidthIterator::advance): + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::selectionRectForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + * platform/graphics/efl/FontEfl.cpp: + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + * platform/graphics/haiku/FontHaiku.cpp: + (WebCore::Font::selectionRectForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::offsetForPosition): + * platform/graphics/mac/ComplexTextController.h: + * platform/graphics/mac/FontComplexTextMac.cpp: + (WebCore::Font::selectionRectForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + * platform/graphics/qt/FontQt.cpp: + (WebCore::Font::offsetForPositionForSimpleText): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForSimpleText): + (WebCore::Font::selectionRectForComplexText): + * platform/graphics/win/FontWin.cpp: + (WebCore::Font::selectionRectForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + * platform/graphics/wince/FontWince.cpp: + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + * platform/graphics/wx/FontWx.cpp: + (WebCore::Font::selectionRectForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + * svg/SVGFont.cpp: + (WebCore::Font::selectionRectForTextUsingSVGFont): + (WebCore::Font::offsetForPositionForTextUsingSVGFont): + +2010-06-16 Anton Muhin <antonm@chromium.org> + + Reviewed by Nate Chapin. + + [v8] Introduce single element caches for WebCore::String to v8::String conversions + https://bugs.webkit.org/show_bug.cgi?id=40435 + Measurements show that for some web apps (GMail, Wave) and some scenarios + (intensive reading and/or keeping a tab open for a long time), + hit rate lies in 30--50% interval. + Inlining fast case gives another minor performance win. + + * bindings/v8/V8Binding.cpp: + (WebCore::getStringCache): + (WebCore::v8ExternalStringSlow): + * bindings/v8/V8Binding.h: + (WebCore::v8ExternalString): + +2010-06-16 Antonio Gomes <tonikitoo@webkit.org> + + Reviewed by Kenneth Christiansen. + + Spatial Navigation: using offset{Left,Top} is not enough to get the proper inner frames position + https://bugs.webkit.org/show_bug.cgi?id=39439 + + As pointed out by Darin Adler in https://bugs.webkit.org/show_bug.cgi?id=18662#c20, + "It's not correct to use the offsetLeft and offsetTop of the frame owner element's renderer because + that's just the distance from the offsetParent, not the absolute position". + + Patch fixes that behavior by now considering the offsetTop and offsetLeft the offsetParent recursively, + starting from the HtmlFrameOwnerElement. Previously, only calling offsetTop and offsetLeft works + because all tests were done in htmls where the {i}frame element was a directly a child of the body, + e.g. <html>...<body><iframe src=xxx>....<body></html>. + + Test: fast/events/spatial-navigation/snav-iframe-recursive-offset-parent.html + + * page/SpatialNavigation.cpp: + (WebCore::renderRectRelativeToRootDocument): + +2010-06-16 Dan Bernstein <mitz@apple.com> + + Try to fix the Tiger build + + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::platformBoundsForGlyph): + +2010-06-16 Dan Bernstein <mitz@apple.com> + + Try to fix the Tiger build + + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::platformBoundsForGlyph): + +2010-06-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Alexey Proskuryakov. + + <rdar://problem/8077119> REGRESSION (r60247): Google Reader contains the tops of pieces of unidentifiable text under feed headlines. + https://bugs.webkit.org/show_bug.cgi?id=40386 + + Test: platform/mac/fast/text/x-height.html + + The result of platformBoundsForGlyph() is in flipped coordinates, whereas the result of + -[NSFont boundingRectForGlyph:] was not. r60247 failed to account for this. + + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::platformInit): Measure the height of the x glyph above the baseline + correctly. + (WebCore::SimpleFontData::platformBoundsForGlyph): Return a rect in flipped coordinates on Tiger + as well. + +2010-06-16 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Don't crash when a document ends with an entity + https://bugs.webkit.org/show_bug.cgi?id=40658 + + When we SWITCH_TO a state, we're expecting our caller to have advanced + the source. Rather than have all the callers check for empty, we do + that ourselves. + + * html/HTML5Lexer.cpp: + +2010-06-15 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Enable HTML5 lexer + https://bugs.webkit.org/show_bug.cgi?id=40650 + + * page/Settings.cpp: + (WebCore::Settings::Settings): + +2010-06-15 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by David Harrison. + + sqlite3_prepare16_v2 is not documented as always setting "tail" during error cases. + Explicitly initialize it to null, just to be safe. + + * platform/sql/SQLiteStatement.cpp: + (WebCore::SQLiteStatement::prepare): + +2010-06-15 Mark Rowe <mrowe@apple.com> + + Reviewed by Brady Eidson. + + <rdar://problem/8091103> URLs not added to history when initial load happens via back/forward navigation + + Back/forward navigation currently does not create or update items in the global history. This is usually + desirable, except for in the event where the back/forward list was created programmatically and attached + to the WebView and the initial load in that WebView is being performed as a result of a back/forward + navigation. In that situation it is preferable to ensure that global history item is created or updated. + + No test case is added because DumpRenderTree is not able to test the scenario where the initial + load in a WebView occurs via a back/forward navigation. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::transitionToCommitted): If we're committing the first load in this frame as a + back/forward navigation then we should update the history as if it were a standard load, with the + exception of updating the back/forward list. + * loader/HistoryController.cpp: + (WebCore::HistoryController::updateForStandardLoad): Add a parameter to allow callers to skip updating + the back/forward list. + * loader/HistoryController.h: + (WebCore::HistoryController::): + +2010-06-15 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by David Levin. + + Fix compilation errors in BlobBuilder with FILE_WRITER enabled + https://bugs.webkit.org/show_bug.cgi?id=40606 + + No functionality change so no new tests. + + * html/BlobBuilder.cpp: + * html/BlobBuilder.h: + +2010-06-15 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + Move type attribute from File.idl to Blob.idl per latest File API spec. + https://bugs.webkit.org/show_bug.cgi?id=40642 + + * html/Blob.idl: + * html/File.idl: + +2010-06-15 Darin Adler <darin@apple.com> + + Reviewed by Adam Barth. + + Move functions out of Frame class that were marked "move to Chrome" + https://bugs.webkit.org/show_bug.cgi?id=39636 + + Refactoring that does not require new tests. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::didOpenURL): Call setStatus and setDefaultStatus + on DOMWindow rather than going through Frame. + (WebCore::FrameLoader::open): Ditto. + (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Call + shouldClose on this object instead of going through Frame. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): Call + shouldClose on FrameLoader instead of going through Frame. + (WebCore::DOMWindow::focus): Moved the code from Frame::focusWindow + in here. + (WebCore::DOMWindow::blur): Moved the code from Frame::unfocusWindow + in here. + (WebCore::DOMWindow::close): Moved the code from Frame::scheduleClose + in here. + (WebCore::DOMWindow::setStatus): Moved the code from + Frame::setJSStatusBarText in here. + (WebCore::DOMWindow::setDefaultStatus): Moved the code from + Frame::setJSDefaultStatusBarText in here. + + * page/DOMWindow.h: Added m_status and m_defaultStatus members to + store the status messages being set by the DOM. + + * page/Frame.cpp: Removed all the functions that were marked + "to be moved into Chrome". + * page/Frame.h: Ditto. + +2010-06-15 Simon Fraser <simon.fraser@apple.com> + + Fix crashing tests; need to check for null documentElement(). + + * rendering/RenderView.cpp: + (WebCore::RenderView::paintBoxDecorations): + +2010-06-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt. + + Garbage shown outside HTML if HTML is absolutely positioned + https://bugs.webkit.org/show_bug.cgi?id=36163 + + Add a check that the root renderer (the document element's renderer) covers + the entire viewport before deciding that we don't need the RenderView + to paint its background. Fixes lack of painting with positioned, floated, and + display: table html elements. + + Test: fast/repaint/positioned-document-element.html + + * rendering/RenderView.cpp: + (WebCore::RenderView::paintBoxDecorations): + +2010-06-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Safari 5 does not clear background with transformed html element + https://bugs.webkit.org/show_bug.cgi?id=40498 + + When the document element is composited, ensure that the FrameView + paints the background, because the composited layer may be transparent, + or might get moved via animation. + + Test: compositing/repaint/composited-document-element.html + + * rendering/RenderView.cpp: + (WebCore::isComposited): + (WebCore::rendererObscuresBackground): + +2010-06-15 Xan Lopez <xlopez@igalia.com> + + Try to fix GTK+ build. + + * platform/gtk/GtkVersioning.h: + +2010-06-15 Darin Fisher <darin@chromium.org> + + Reviewed by Brady Eidson. + + Introduce HistoryItem::itemSequenceNumber and use it to identify + HistoryItems that are clones of one another. + + Changes HistoryController::recursiveGoToItem to use itemSequenceNumber + equality instead of isTargetItem as the pre-requisite for not calling + FrameLoader::loadItem. + + Changes FrameLoader::loadItem to require equivalent + documentSequenceNumber before initiating a same document navigation. + This alone would appear to fix the bug, but it does not go far enough + since without the itemSequenceNumber equality check, we'd re-load more + often than we should. + + Moves documentSequenceNumber assignment into createItemTree as cleanup + and to ensure that it gets called properly whenever we create a cloned + HistoryItem. (createItemTree's mission is to create clones up until + or including the target frame depending on the value of the doClip + parameter.) + + Removes the now unused HistoryController::urlsMatchItem. + + https://bugs.webkit.org/show_bug.cgi?id=40451 + + Test: fast/history/history-back-within-subframe.html + http/tests/navigation/history-back-across-form-submission-to-fragment.html + + * history/HistoryItem.cpp: + (WebCore::generateSequenceNumber): + (WebCore::HistoryItem::HistoryItem): + * history/HistoryItem.h: + (WebCore::HistoryItem::setItemSequenceNumber): + (WebCore::HistoryItem::itemSequenceNumber): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadItem): + * loader/HistoryController.cpp: + (WebCore::HistoryController::updateBackForwardListForFragmentScroll): + (WebCore::HistoryController::createItemTree): + (WebCore::HistoryController::recursiveGoToItem): + (WebCore::HistoryController::pushState): + * loader/HistoryController.h: + +2010-06-15 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + [GTK] Does not compile with -DGSEAL_ENABLE + https://bugs.webkit.org/show_bug.cgi?id=37851 + + Fix compilation with GSEAL_ENABLE. + + * platform/gtk/GtkVersioning.h: + * platform/gtk/PlatformScreenGtk.cpp: + (WebCore::screenDepth): + (WebCore::screenDepthPerComponent): + * platform/gtk/PopupMenuGtk.cpp: + (WebCore::PopupMenu::show): + * platform/gtk/ScrollbarGtk.cpp: + (ScrollbarGtk::detachAdjustment): + (ScrollbarGtk::updateThumbPosition): + (ScrollbarGtk::updateThumbProportion): + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::paint): + (WebCore::PluginView::initXEvent): + (WebCore::PluginView::platformGetValue): + (WebCore::PluginView::platformStart): + * plugins/gtk/gtk2xtbin.c: + (gtk_xtbin_realize): + (gtk_xtbin_new): + (gtk_xtbin_set_position): + (gtk_xtbin_unrealize): + +2010-06-15 Xan Lopez <xlopez@igalia.com> + + Unreviewed build fix. + + Fix the build when WebSockets are disabled. + + * bindings/js/JSWorkerContextCustom.cpp: + +2010-06-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + YouTube thumbnail borders vanish during transition + https://bugs.webkit.org/show_bug.cgi?id=40551 + + Turn off the direct image optimization if the image has a clip style, so that is is + correctly rendered with the clip. + + Test: compositing/images/clip-on-directly-composited-image.html + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::isDirectlyCompositedImage): + +2010-06-15 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + [v8] Web Inspector: make ui tests pass when ScriptDebugServer is used + https://bugs.webkit.org/show_bug.cgi?id=40623 + + * bindings/v8/JavaScriptCallFrame.cpp: + (WebCore::JavaScriptCallFrame::functionName): return empty string for anonymous functions instead of [anonymous]. + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::handleV8DebugEvent): autocontinue on syntax errors since there is no stack trace and + not much to inspect. + +2010-06-15 Adam Roben <aroben@apple.com> + + Make WebCore's and JavaScriptCore's DerivedSources available for debugging in production builds + + Fixes <http://webkit.org/b/40626> <rdar://problem/8094205>. + + Reviewed by Sam Weinig. + + * WebCore.vcproj/WebCore.make: Copy the contents of WebCore's + DerivedSources directory to AppleInternal/Sources/WebCore. + +2010-06-15 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + Bring framebuffer functions to GLES2 conformance + https://bugs.webkit.org/show_bug.cgi?id=40175 + + Test: fast/canvas/webgl/framebuffer-test.html + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::checkFramebufferStatus): Check input parameters and deal with default framebuffer situation. + (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Check input parameters. + (WebCore::WebGLRenderingContext::framebufferTexture2D): Ditto. + (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Ditto. + (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters): Check input parameters. + * html/canvas/WebGLRenderingContext.h: Add validateFramebufferFuncParameters. + +2010-06-15 Patrick Gansterer <paroga@paroga.com> + + Reviewed by David Levin. + + Buildfix for ResourceHandleWin after r24202 and r55542. + https://bugs.webkit.org/show_bug.cgi?id=32963 + + * platform/network/win/ResourceHandleWin.cpp: + (WebCore::ResourceHandle::onHandleCreated): + (WebCore::ResourceHandle::onRequestComplete): + (WebCore::transferJobStatusCallback): + (WebCore::ResourceHandle::start): + +2010-06-12 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Joe Pecoraro. + + Web Inspector: Should not expose window.console._inspectorCommandLineAPI to the web. + + https://bugs.webkit.org/show_bug.cgi?id=40500 + + * inspector/front-end/InjectedScript.js: + (injectedScriptConstructor): + (injectedScriptConstructor.): + +2010-06-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] The qt_webkit_version.pri file gets overwritten on install + https://bugs.webkit.org/show_bug.cgi?id=40487 + + Don't install qt_webkit_version.pri when building WebKit inside of Qt. + The import of WebKit into Qt will take care of providing the file + in mkspecs/modules and it'll be installed through projects.pro. + + * WebCore.pro: + +2010-06-15 Tony Chang <tony@chromium.org> + + Reviewed by Ojan Vafai. + + resolve urls in text/html clipboard data + https://bugs.webkit.org/show_bug.cgi?id=40044 + + Allow text/html data copied from a page to contain full URLs when + dragging or copy/pasting. + + Tests: editing/pasteboard/copy-resolves-urls.html + http/tests/misc/copy-resolves-urls.html + + * WebCore.base.exp: + * editing/markup.cpp: + (WebCore::appendStartMarkup): + (WebCore::getStartMarkup): + (WebCore::MarkupAccumulator::appendMarkup): + (WebCore::createMarkup): + * editing/markup.h: + (WebCore::): + * platform/chromium/ClipboardChromium.cpp: + (WebCore::ClipboardChromium::writeRange): + * platform/chromium/PasteboardChromium.cpp: + (WebCore::Pasteboard::writeSelection): + * platform/gtk/ClipboardGtk.cpp: + (WebCore::ClipboardGtk::writeRange): + * platform/gtk/DataObjectGtk.cpp: + (WebCore::DataObjectGtk::markup): + * platform/gtk/PasteboardGtk.cpp: + (WebCore::Pasteboard::writeSelection): + * platform/haiku/PasteboardHaiku.cpp: + (WebCore::Pasteboard::writeSelection): + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::writeRange): + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::writeSelection): + +2010-06-14 Chris Fleizach <cfleizach@apple.com> + + No review. GTK build fix. + + AX: need ListItemRole and PresentationalRole + https://bugs.webkit.org/show_bug.cgi?id=40133 + + Mostly speculative fix to make GTK unit tests work. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (atkRole): + (webkit_accessible_get_role): + +2010-06-14 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/8090895> Update http streaming MIME types + + * platform/MIMETypeRegistry.cpp: + (WebCore::TypeExtensionPair::): Add http streaming MIME synonyms. + +2010-06-14 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Oliver Hunt. + + audio/x-mp3 MIME type not recognized + <rdar://problem/7875393> + https://bugs.webkit.org/show_bug.cgi?id=40594 + + Allow MIMETypeRegistry to have more than one MIME type for a + media file extension, and have the QTKit media engine register + all MIME types it can find for each file type QTKit supports. + + Test: media/media-can-play-mp3.html + + * platform/MIMETypeRegistry.cpp: + (WebCore::mediaMIMETypeMap): Update for new HashMap format. + (WebCore::TypeExtensionPair::): Store String+Vector<String> + (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Only consult + mediaMIMETypeMap(), it has the canonical answer. + (WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): New, return + a Vector of all MIME types for an extension. + * platform/MIMETypeRegistry.h: + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::addFileTypesToCache): Add all MIME types returned in the + getMediaMIMETypesForExtension Vector. + +2010-06-14 Mark Rowe <mrowe@apple.com> + + Reviewed by Brady Eidson. + + <rdar://problem/8071866> REGRESSION: Crash on launch on Tiger and Leopard with network home folder + + * platform/sql/SQLiteStatement.cpp: + (WebCore::SQLiteStatement::prepare): Don't assume that tail is always non-null, since that may + not be the case with some versions of SQLite. Instead we must null-check before dereferencing. + +2010-06-14 Anders Carlsson <andersca@apple.com> + + Fix Tiger build. + + * plugins/mac/PluginDataMac.mm: + +2010-06-14 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Use an array for extensions in MimeClassInfo + https://bugs.webkit.org/show_bug.cgi?id=40602 + + Get rid of MimeClassInfo::suffixes and replace it with an array of extensions. + + * plugins/MimeType.cpp: + (WebCore::MimeType::suffixes): + Create a string of joined extensions. + + * plugins/MimeType.h: + * plugins/PluginData.h: + (WebCore::operator==): + * plugins/chromium/PluginDataChromium.cpp: + (WebCore::getPluginMimeTypeFromExtension): + * plugins/gtk/PluginDataGtk.cpp: + (WebCore::PluginData::initPlugins): + * plugins/mac/PluginDataMac.mm: + (WebCore::PluginData::initPlugins): + * plugins/qt/PluginDataQt.cpp: + (WebCore::PluginData::initPlugins): + * plugins/win/PluginDataWin.cpp: + (WebCore::PluginData::initPlugins): + * plugins/wx/PluginDataWx.cpp: + (WebCore::PluginData::initPlugins): + +2010-06-14 Adam Barth <abarth@webkit.org> + + Unreviewed. + + Add an include to try to fix Chromium build. + + * html/HTML5DocumentParser.cpp: + +2010-06-14 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Safari beach-balls loading large pages with HTML5 parser + https://bugs.webkit.org/show_bug.cgi?id=40596 + + Implement parser yielding, similar to how the old + HTMLDocumentParser yields. + + This implementation re-uses the tokenizerTimeDelay and + tokenizerChunkSize settings even though they don't map exactly + to the token loop that the HTML5 parser uses. + + * dom/DocumentParser.h: + - Add a FIXME for processingData() and clarify how the + appendData flag is used by renaming it to isFromNetwork. + * html/HTML5DocumentParser.cpp: + (WebCore::parserTimeLimit): + - Defaults accessor, probably belongs on Page. + (WebCore::parserChunkSize): + - Defaults accessor, probably belongs on Page. + (WebCore::HTML5DocumentParser::HTML5DocumentParser): + (WebCore::HTML5DocumentParser::stopParsing): + - Stop the continue-parsing timer if active. + (WebCore::HTML5DocumentParser::processingData): + - Implement this poorly understood accessor to match + the old parser's behavior. It's unclear what this does + and it does not affect any layout tests to my knowledge + but likely affects the WebKit API in some way. + (WebCore::HTML5DocumentParser::pumpLexerIfPossible): + - Pass SynchronousMode. + - Do not ever pump if we've yielded to the timer. + (WebCore::HTML5DocumentParser::PumpSession::PumpSession): + - A struct for storing the yield counters. + (WebCore::HTML5DocumentParser::shouldContinueParsing): + - Mostly matches HTMLDocumentParser::shouldContinueParsing. + (WebCore::HTML5DocumentParser::pumpLexer): + - Respect SynchronousMode. + - ASSERT that a timer is not scheduled if we're pumping. + (WebCore::isLayoutTimerActive): + - This belongs on Document. + (WebCore::HTML5DocumentParser::continueNextChunkTimerFired): + (WebCore::HTML5DocumentParser::write): + (WebCore::HTML5DocumentParser::end): + - We should never end() if a timer is still outstanding. + (WebCore::HTML5DocumentParser::attemptToEnd): + (WebCore::HTML5DocumentParser::endIfDelayed): + (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution): + * html/HTML5DocumentParser.h: + (WebCore::HTML5DocumentParser::): + * html/HTMLDocumentParser.cpp: + - Clarify the old TimeDelay and ChunkSize constants. + +2010-06-14 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add a preload scanner for the HTML5 parser + https://bugs.webkit.org/show_bug.cgi?id=40557 + + This patch adds a simple preload scanner for the HTML5 parser. This + preload scanner is not as awesome as the old one because it doesn't + scan CSS, but it's much simpler. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + - Build file torture. + * html/HTML5DocumentParser.cpp: + (WebCore::HTML5DocumentParser::write): + - Call into the preload scanner when waiting for a script. + * html/HTML5DocumentParser.h: + * html/HTML5PreloadScanner.cpp: Copied from WebCore/html/PreloadScanner.cpp. + (WebCore::HTML5PreloadScanner::HTML5PreloadScanner): + (WebCore::HTML5PreloadScanner::scan): + - A simple loop to pump the preload scanner's lexer. + (WebCore::HTML5PreloadScanner::processToken): + - Preload interesting resources. Stolen from the old preload + scanner. + (WebCore::HTML5PreloadScanner::scanningBody): + * html/HTML5PreloadScanner.h: Copied from WebCore/html/PreloadScanner.h. + +2010-06-14 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Constify some HTML5Token methods + https://bugs.webkit.org/show_bug.cgi?id=40592 + + I keep wanting these methods to be const. Eric wanted this in a + separate patch. + + * html/HTML5Lexer.h: + (WebCore::HTML5Lexer::state): + * html/HTML5Token.h: + (WebCore::HTML5Token::attributes): + (WebCore::HTML5Token::name): + (WebCore::HTML5Token::characters): + (WebCore::HTML5Token::comment): + (WebCore::HTML5Token::publicIdentifier): + (WebCore::HTML5Token::systemIdentifier): + * html/HTML5TreeBuilder.cpp: + (WebCore::convertToOldStyle): + (WebCore::HTML5TreeBuilder::adjustedLexerState): + - Technically, this might belong in the other patch, but I think + it's fine here. + (WebCore::HTML5TreeBuilder::passTokenToLegacyParser): + * html/HTML5TreeBuilder.h: + +2010-06-14 Dumitru Daniliuc <dumi@chromium.org> + + Unreviewed, build fix. + + * WebCore.xcodeproj/project.pbxproj: + +2010-06-14 Dimitri Glazkov <dglazkov@chromium.org> + + Unreviewed, build fix. + + Remove accidental specifying of the class name twice. + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::prepareFormData): Removed my ghastly typo. + +2010-06-14 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Adam Barth. + + Get DatabaseTracker ready for sync DBs. + https://bugs.webkit.org/show_bug.cgi?id=39041 + + * storage/AbstractDatabase.cpp: + (WebCore::AbstractDatabase::~AbstractDatabase): + * storage/AbstractDatabase.h: + * storage/Database.cpp: + (WebCore::Database::closeImmediately): + * storage/Database.h: + (WebCore::Database::scriptExecutionContext): + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::getMaxSizeForDatabase): + (WebCore::DatabaseTracker::databaseChanged): + (WebCore::DatabaseTracker::addOpenDatabase): + (WebCore::DatabaseTracker::removeOpenDatabase): + (WebCore::DatabaseTracker::getOpenDatabases): + (WebCore::DatabaseTracker::deleteDatabaseFile): + * storage/DatabaseTracker.h: + * storage/OriginQuotaManager.cpp: + (WebCore::OriginQuotaManager::markDatabase): + * storage/OriginQuotaManager.h: + * storage/chromium/DatabaseObserver.h: + * storage/chromium/DatabaseTrackerChromium.cpp: + (WebCore::DatabaseTracker::addOpenDatabase): + (WebCore::TrackerRemoveOpenDatabaseTask::create): + (WebCore::TrackerRemoveOpenDatabaseTask::TrackerRemoveOpenDatabaseTask): + (WebCore::DatabaseTracker::removeOpenDatabase): + (WebCore::DatabaseTracker::getOpenDatabases): + (WebCore::DatabaseTracker::getMaxSizeForDatabase): + +2010-06-14 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=40529 + eventSender.keyDown("delete") incorrectly sends a backspace on some platforms + + * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + Use virtual key code to force correct character code for clarity. Also, reworded comment, + since saying that "backspace needs to always be 8" misleadingly implied that it could + "sometimes" be such without this code. + +2010-06-14 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Refactor form submission code in HTMLFormElement to add clarity. + https://bugs.webkit.org/show_bug.cgi?id=39430 + + Covered by existing tests in fast/forms/mailto. + + * html/HTMLFormElement.cpp: + (WebCore::appendMailtoPostFormDataToURL): Renamed from transferMailtoPostFormDataToUrl, + removed clearing out of the FormData and moved it to a new place (next to the call site). + (WebCore::HTMLFormElement::prepareFormData): Renamed from createFormData, moved the logic of + prepareing FormData here, including the use of appendMailtoPostFormDataToURL. + (WebCore::HTMLFormElement::submit): Consolidated multiple invocations of submitForm(). + * html/HTMLFormElement.h: Renamed createFormData to prepareFormData. + +2010-06-14 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: need ListItemRole and PresentationalRole + https://bugs.webkit.org/show_bug.cgi?id=40133 + + * accessibility/AccessibilityObject.cpp: + (WebCore::createARIARoleMap): + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::isListItem): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + (WebCore::AccessibilityRenderObject::determineAccessibilityRole): + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeNames]): + +2010-06-14 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Remove pluginIndex from MimeClassInfo + https://bugs.webkit.org/show_bug.cgi?id=40588 + + * plugins/PluginData.h: + * plugins/gtk/PluginDataGtk.cpp: + (WebCore::PluginData::initPlugins): + * plugins/mac/PluginDataMac.mm: + (WebCore::PluginData::initPlugins): + * plugins/qt/PluginDataQt.cpp: + (WebCore::PluginData::initPlugins): + * plugins/win/PluginDataWin.cpp: + (WebCore::PluginData::initPlugins): + * plugins/wx/PluginDataWx.cpp: + (WebCore::PluginData::initPlugins): + +2010-06-14 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by Jian Li. + + Implement BlobBuilder internal class for BlobBuilder support as defined in FileWriter + https://bugs.webkit.org/show_bug.cgi?id=36903 + + No new tests; they will be added when we add jsc bindings. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/BlobBuilder.cpp: Added. + * html/BlobBuilder.h: Added. + (WebCore::BlobBuilder::create): + * platform/BlobItem.cpp: + (WebCore::StringBlobItem::convertToCString): Added EndingNative support. + * platform/BlobItem.h: Added EndingNative line-ending type. + (WebCore::): + +2010-06-14 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Stop using MimeClassInfo::pluginIndex + https://bugs.webkit.org/show_bug.cgi?id=40582 + + Add a pluginIndicies vector to PluginData and use it instead of MimeClassInfo::pluginIndex. + + * plugins/MimeType.cpp: + (WebCore::MimeType::enabledPlugin): + Get the plug-in index from the mimePluginIndices vector. + + * plugins/Plugin.cpp: + (WebCore::Plugin::item): + Compare the mime plugin index as well. + + * plugins/PluginData.cpp: + (WebCore::PluginData::PluginData): + Populate the m_mimePluginIndices vector. + + (WebCore::PluginData::pluginNameForMimeType): + Get the plug-in index from the m_mimePluginIndices vector. + + * plugins/PluginData.h: + (WebCore::operator==): + Don't check for pluginIndex. + + (WebCore::PluginData::mimePluginIndices): + Add getter for m_mimePluginIndices. + +2010-06-14 Sam Weinig <sam@webkit.org> + + Better build fix. + + * bindings/js/JSBindingsAllInOne.cpp: + +2010-06-14 Sam Weinig <sam@webkit.org> + + Another windows build fix. + + * bindings/js/JSBindingsAllInOne.cpp: + +2010-06-14 Sam Weinig <sam@webkit.org> + + Another build fix. + + * bindings/js/JSDOMWindowCustom.cpp: + +2010-06-14 Sam Weinig <sam@webkit.org> + + Add missing comma to fix GTK build. + + * xml/XSLTProcessor.idl: + +2010-06-14 Sam Weinig <sam@webkit.org> + + Reviewed by Alexey Proskuryakov. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=40581 + Auto-generate most of the JS constructors + + - Auto-generates all the JS constructors that don't have custom + names (eg, Not Image(), Audio() or Option()) + - Fixes two typos. + (new XSLTConstructor()).toString() [object XSLTProcessorConsructor] -> [object XSLTProcessorConstructor]) + (new EventSource()).toString() [object EventSourceContructor] -> [object EventSourceConstructor]) + + * Android.jscbindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSArrayBufferConstructor.cpp: Removed. + * bindings/js/JSArrayBufferConstructor.h: Removed. + * bindings/js/JSArrayBufferCustom.cpp: Copied from WebCore/bindings/js/JSArrayBufferConstructor.cpp. + (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer): + * bindings/js/JSArrayBufferViewHelper.h: + (WebCore::constructArrayBufferView): + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSDOMWindowCustom.cpp: + * bindings/js/JSEventSourceConstructor.cpp: Removed. + * bindings/js/JSEventSourceConstructor.h: Removed. + * bindings/js/JSEventSourceCustom.cpp: Copied from WebCore/bindings/js/JSEventSourceConstructor.cpp. + (WebCore::JSEventSourceConstructor::constructJSEventSource): + * bindings/js/JSFloat32ArrayConstructor.cpp: Removed. + * bindings/js/JSFloat32ArrayConstructor.h: Removed. + * bindings/js/JSFloat32ArrayCustom.cpp: + (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array): + * bindings/js/JSInt16ArrayConstructor.cpp: Removed. + * bindings/js/JSInt16ArrayConstructor.h: Removed. + * bindings/js/JSInt16ArrayCustom.cpp: + (WebCore::JSInt16ArrayConstructor::constructJSInt16Array): + * bindings/js/JSInt32ArrayConstructor.cpp: Removed. + * bindings/js/JSInt32ArrayConstructor.h: Removed. + * bindings/js/JSInt32ArrayCustom.cpp: + (WebCore::JSInt32ArrayConstructor::constructJSInt32Array): + * bindings/js/JSInt8ArrayConstructor.cpp: Removed. + * bindings/js/JSInt8ArrayConstructor.h: Removed. + * bindings/js/JSInt8ArrayCustom.cpp: + (WebCore::JSInt8ArrayConstructor::constructJSInt8Array): + * bindings/js/JSMessageChannelConstructor.cpp: Removed. + * bindings/js/JSMessageChannelConstructor.h: Removed. + * bindings/js/JSMessageChannelCustom.cpp: + (WebCore::JSMessageChannelConstructor::constructJSMessageChannel): + * bindings/js/JSSharedWorkerConstructor.cpp: Removed. + * bindings/js/JSSharedWorkerConstructor.h: Removed. + * bindings/js/JSSharedWorkerCustom.cpp: + (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): + * bindings/js/JSUint16ArrayConstructor.cpp: Removed. + * bindings/js/JSUint16ArrayConstructor.h: Removed. + * bindings/js/JSUint16ArrayCustom.cpp: + (WebCore::JSUint16ArrayConstructor::constructJSUint16Array): + * bindings/js/JSUint32ArrayConstructor.cpp: Removed. + * bindings/js/JSUint32ArrayConstructor.h: Removed. + * bindings/js/JSUint32ArrayCustom.cpp: + (WebCore::JSUint32ArrayConstructor::constructJSUint32Array): + * bindings/js/JSUint8ArrayConstructor.cpp: Removed. + * bindings/js/JSUint8ArrayConstructor.h: Removed. + * bindings/js/JSUint8ArrayCustom.cpp: + (WebCore::JSUint8ArrayConstructor::constructJSUint8Array): + * bindings/js/JSWebKitCSSMatrixConstructor.cpp: Removed. + * bindings/js/JSWebKitCSSMatrixConstructor.h: Removed. + * bindings/js/JSWebKitCSSMatrixCustom.cpp: Copied from WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp. + (WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix): + * bindings/js/JSWebKitPointConstructor.cpp: Removed. + * bindings/js/JSWebKitPointConstructor.h: Removed. + * bindings/js/JSWebKitPointCustom.cpp: Copied from WebCore/bindings/js/JSWebKitPointConstructor.cpp. + (WebCore::JSWebKitPointConstructor::constructJSWebKitPoint): + * bindings/js/JSWebSocketConstructor.cpp: Removed. + * bindings/js/JSWebSocketConstructor.h: Removed. + * bindings/js/JSWebSocketCustom.cpp: + (WebCore::JSWebSocketConstructor::constructJSWebSocket): + * bindings/js/JSWorkerConstructor.cpp: Removed. + * bindings/js/JSWorkerConstructor.h: Removed. + * bindings/js/JSWorkerContextCustom.cpp: + * bindings/js/JSWorkerCustom.cpp: + (WebCore::JSWorkerConstructor::constructJSWorker): + * bindings/js/JSXSLTProcessorConstructor.cpp: Removed. + * bindings/js/JSXSLTProcessorConstructor.h: Removed. + * bindings/js/JSXSLTProcessorCustom.cpp: + (WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor): + * bindings/scripts/CodeGeneratorJS.pm: + * css/WebKitCSSMatrix.idl: + * dom/MessageChannel.idl: + * html/canvas/ArrayBuffer.idl: + * html/canvas/Float32Array.idl: + * html/canvas/Int16Array.idl: + * html/canvas/Int32Array.idl: + * html/canvas/Int8Array.idl: + * html/canvas/Uint16Array.idl: + * html/canvas/Uint32Array.idl: + * html/canvas/Uint8Array.idl: + * page/EventSource.idl: + * page/WebKitPoint.idl: + * websockets/WebSocket.idl: + * workers/SharedWorker.idl: + * workers/Worker.idl: + * xml/XSLTProcessor.idl: + +2010-05-16 Antonio Gomes <tonikitoo@webkit.org> + + Unreviewed naming fixes of local variables used in Spatial Navigation methods. + + Summary: + * "candidate" renamed to "node"; + * "currentFocusCandidate" renamed to "candidate" + * "closestFocusCandidate" renamed to "closest" + + That way naming is more consistent in the various Spatial Navigation methods. + + * page/FocusController.cpp: + (WebCore::FocusController::findFocusableNodeInDirection): + (WebCore::FocusController::deepFindFocusableNodeInDirection): + +2010-06-14 Antonio Gomes <tonikitoo@webkit.org> + + Reviewed by Simon Fraser and Kenneth Christiansen. + + Spatial Navigation: make it work with focusable elements in overflow content + https://bugs.webkit.org/show_bug.cgi?id=36463 + + This patch addresses the problem with Spatial Navigation. It currently does not + properly traverse scrollable contents, including scrollable div's. For this to work, + a new class member called scrollableEnclosingBox was introduced to FocusCandidate class which + keeps track of the current scrollable box Node wrapping a FocusCandidate. + + To make use of enclosingScrollableBox of FocusCandidate, the DOM traversal routine + (FocusController::findNextFocusableInDirection) was changed as follows: when it + encounters a scrollable Node, each focusable node which is 'inner' keeps track of + the container reference. By the time a sibling of the scrollable Node is encountered, + there is no need to track this reference any more and the traversal algorithm continues + normally. + + The common case is obviously that there is no scrollable container wrapping it. + + updateFocusCandiditeIfCloser logic was also adapted to fit the need of the + newly introduced enclosingScrollableBox class member, getting simpler and more + easily maintainable. + + Tests: fast/events/spatial-navigation/snav-div-scrollable-but-without-focusable-content.html + fast/events/spatial-navigation/snav-clipped-overflow-content.html + + * page/FocusController.cpp: + (WebCore::updateFocusCandidateInSameContainer): + (WebCore::updateFocusCandidateIfCloser): + (WebCore::FocusController::findFocusableNodeInDirection): + (WebCore::FocusController::deepFindFocusableNodeInDirection): + * page/SpatialNavigation.cpp: + (WebCore::isScrollableContainerNode): + * page/SpatialNavigation.h: + (WebCore::FocusCandidate::FocusCandidate): + (WebCore::FocusCandidate::isInScrollableContainer): + +2010-06-14 Jian Li <jianli@chromium.org> + + Unreviewed. Fix build break in GTK. + + * bindings/scripts/CodeGeneratorGObject.pm: + * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: + * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h: + * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: + * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h: + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: + +2010-06-14 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + AX: AXUnknown objects are being returned + https://bugs.webkit.org/show_bug.cgi?id=40574 + + Test: platform/mac/accessibility/no-unknown-objects-when-title-attribute-present.html + + * accessibility/mac/AccessibilityObjectMac.mm: + (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): + +2010-06-14 Jian Li <jianli@chromium.org> + + Reviewed by Darin Adler. + + Fix code generators to better support Conditional attribute and add test + coverage for it. + https://bugs.webkit.org/show_bug.cgi?id=39512 + + * bindings/scripts/CodeGeneratorGObject.pm: + * bindings/scripts/CodeGeneratorObjC.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: + * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: + * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: + * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + (webkit_dom_test_obj_get_conditional_attr1): + (webkit_dom_test_obj_set_conditional_attr1): + (webkit_dom_test_obj_get_conditional_attr2): + (webkit_dom_test_obj_set_conditional_attr2): + (webkit_dom_test_obj_get_conditional_attr3): + (webkit_dom_test_obj_set_conditional_attr3): + (webkit_dom_test_obj_set_property): + (webkit_dom_test_obj_get_property): + (webkit_dom_test_obj_class_init): + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: + * bindings/scripts/test/JS/JSTestInterface.cpp: + * bindings/scripts/test/JS/JSTestInterface.h: + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore::): + (WebCore::jsTestObjConditionalAttr1): + (WebCore::jsTestObjConditionalAttr2): + (WebCore::jsTestObjConditionalAttr3): + (WebCore::setJSTestObjConditionalAttr1): + (WebCore::setJSTestObjConditionalAttr2): + (WebCore::setJSTestObjConditionalAttr3): + * bindings/scripts/test/JS/JSTestObj.h: + * bindings/scripts/test/ObjC/DOMTestInterface.mm: + * bindings/scripts/test/ObjC/DOMTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + (-[DOMTestObj conditionalAttr1]): + (-[DOMTestObj setConditionalAttr1:]): + (-[DOMTestObj conditionalAttr2]): + (-[DOMTestObj setConditionalAttr2:]): + (-[DOMTestObj conditionalAttr3]): + (-[DOMTestObj setConditionalAttr3:]): + * bindings/scripts/test/TestInterface.idl: + * bindings/scripts/test/TestObj.idl: + * bindings/scripts/test/V8/V8TestInterface.cpp: + * bindings/scripts/test/V8/V8TestInterface.h: + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::conditionalAttr1AttrGetter): + (WebCore::TestObjInternal::conditionalAttr1AttrSetter): + (WebCore::TestObjInternal::conditionalAttr2AttrGetter): + (WebCore::TestObjInternal::conditionalAttr2AttrSetter): + (WebCore::TestObjInternal::conditionalAttr3AttrGetter): + (WebCore::TestObjInternal::conditionalAttr3AttrSetter): + (WebCore::): + +2010-06-14 Chang Shu <chang.shu@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + Change the type of ShadowSize from IntSize to FloatSize in GraphicsContext. + Using IntSize loses precision and fails the test. + Note: This code change fixes Qt port but Mac is still failing due to + platform issue. + + https://bugs.webkit.org/show_bug.cgi?id=40434 + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::applyShadow): + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::setShadow): + (WebCore::GraphicsContext::getShadow): + * platform/graphics/GraphicsContext.h: + * platform/graphics/GraphicsContextPrivate.h: + * platform/graphics/cairo/FontCairo.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::calculateShadowBufferDimensions): + (WebCore::drawPathShadow): + (WebCore::drawBorderlessRectShadow): + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::BitmapImage::draw): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): + (WebCore::Font::drawComplexText): + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::Font::drawComplexText): + * platform/graphics/haiku/GraphicsContextHaiku.cpp: + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/mac/FontMac.mm: + (WebCore::Font::drawGlyphs): + * platform/graphics/openvg/GraphicsContextOpenVG.cpp: + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/qt/FontQt.cpp: + (WebCore::drawTextCommon): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::drawRect): + (WebCore::GraphicsContext::drawLine): + (WebCore::GraphicsContext::strokeArc): + (WebCore::GraphicsContext::drawConvexPolygon): + (WebCore::drawFilledShadowPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::drawBorderlessRectShadow): + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/qt/ImageQt.cpp: + (WebCore::BitmapImage::draw): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::setPlatformShadow): + * platform/graphics/skia/SkiaFontWin.cpp: + (WebCore::windowsCanHandleDrawTextShadow): + * platform/graphics/win/FontCGWin.cpp: + (WebCore::drawGDIGlyphs): + (WebCore::Font::drawGlyphs): + * platform/graphics/wince/GraphicsContextWince.cpp: + (WebCore::GraphicsContext::fillRoundedRect): + (WebCore::GraphicsContext::setPlatformShadow): + (WebCore::GraphicsContext::drawText): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::setPlatformShadow): + +2010-06-14 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7752961> Unevenly distributed space in justified text + https://bugs.webkit.org/show_bug.cgi?id=36105 + + Test: fast/text/justify-padding-distribution.html + + * platform/graphics/WidthIterator.cpp: + (WebCore::WidthIterator::WidthIterator): Initialize m_padPerSpace to the quotient of the total + padding and the number of spaces rather than truncating it. + (WebCore::WidthIterator::advance): Subtract m_padPerSpace from m_padding and add the difference + between its old and new values, when rounded, to the advance. + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::ComplexTextController): + (WebCore::ComplexTextController::adjustGlyphsAndAdvances): + * platform/graphics/win/UniscribeController.cpp: + (WebCore::UniscribeController::UniscribeController): + (WebCore::UniscribeController::shapeAndPlaceItem): + * platform/graphics/win/UniscribeController.h: + +2010-06-14 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Tor Arne Vestbø. + + [Qt] Stack overflow when converting navigator object to QVariant + https://bugs.webkit.org/show_bug.cgi?id=40572 + + Protect against infinite recursion in JSValue->QVariant conversion. + This fixes a crash when trying to convert MimeType objects (they + recurse infinitely and on-the-fly via the enabledPlugin property.) + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertValueToQVariant): + +2010-06-14 Yong Li <yoli@rim.com> + + Test cases created by: Robin Cao <robin.cao@torchmobile.com.cn> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=38910 + + Suspend Document::m_executeScriptSoonTimer objects when the page is deferred. + There's no reason why we suspend all active DOM timers on the page but not suspend + this one. Document::m_executeScriptSoonTimer can run JS and schedule more DOM Timers. + + It can only be tested manually. + * manual-tests/load-deferrer-script-element.html: Added. + * manual-tests/resources/load-deferrer-script-element.js: Added. + + * dom/Document.cpp: + (WebCore::Document::executeScriptSoon): + (WebCore::Document::suspendExecuteScriptSoonTimer): Added. + (WebCore::Document::resumeExecuteScriptSoonTimer): Added. + * dom/Document.h: + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): + 2010-06-13 Yael Aharon <yael.aharon@nokia.com> Reviewed by Kenneth Rohde Christiansen. @@ -2403,6 +11013,43 @@ Reviewed by Shinichiro Hamaji. + Implement render style selection for pages to support CSS3 Paged Media. + https://bugs.webkit.org/show_bug.cgi?id=35961 + + Test: printing/page-rule-selection.html + + * WebCore.base.exp: + * css/CSSGrammar.y: + * css/CSSSelector.cpp: + (WebCore::CSSSelector::specificity): + (WebCore::CSSSelector::specificityForPage): + * css/CSSSelector.h: + (WebCore::CSSSelector::CSSSelector): + (WebCore::CSSSelector::isForPage): + (WebCore::CSSSelector::setForPage): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::styleForPage): + (WebCore::CSSStyleSelector::matchPageRules): + (WebCore::CSSStyleSelector::matchPageRulesForList): + (WebCore::CSSStyleSelector::isLeftPage): + (WebCore::CSSStyleSelector::isFirstPage): + (WebCore::CSSStyleSelector::pageName): + * css/CSSStyleSelector.h: + (WebCore::CSSStyleSelector::isRightPage): + * css/html.css: + (@page): + * dom/Document.cpp: + (WebCore::Document::styleForPage): + * dom/Document.h: + * page/PrintContext.cpp: + (WebCore::PrintContext::pageProperty): + * page/PrintContext.h: + + +2010-06-10 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Shinichiro Hamaji. + Fix Bug 40452: REGRESSION: printing is broken if stylesheet has @page https://bugs.webkit.org/show_bug.cgi?id=40452 @@ -3945,7 +12592,7 @@ 2010-06-08 Erik Arvidsson <arv@chromium.org> - Reviewed by ojan@chromium.org. + Reviewed by Ojan Vafai. REGRESSION: Weird focus behavior affects quoting on University of Washington message board system https://bugs.webkit.org/show_bug.cgi?id=38548 @@ -4424,9 +13071,9 @@ 2010-06-07 Eric Seidel <eric@webkit.org> - Unreviewed. Just commit an edit XCode keeps making automatically. + Unreviewed. Just commit an edit Xcode keeps making automatically. - It appears someone hand-edited the file, XCode no-like. + It appears someone hand-edited the file, Xcode no-like. * WebCore.xcodeproj/project.pbxproj: @@ -7042,7 +15689,7 @@ 2010-06-02 Erik Arvidsson <arv@chromium.org> - Reviewed by ojan@chromium.org. + Reviewed by Ojan Vafai. REGRESSION: Weird focus behavior affects quoting on University of Washington message board system https://bugs.webkit.org/show_bug.cgi?id=38548 |