summaryrefslogtreecommitdiffstats
path: root/WebCore/ChangeLog
diff options
context:
space:
mode:
authorKristian Monsen <kristianm@google.com>2010-06-28 16:42:48 +0100
committerKristian Monsen <kristianm@google.com>2010-07-02 10:29:56 +0100
commit06ea8e899e48f1f2f396b70e63fae369f2f23232 (patch)
tree20c1428cd05c76f32394ab354ea35ed99acd86d8 /WebCore/ChangeLog
parent72aad67af14193199e29cdd5c4ddc095a8b9a8a8 (diff)
downloadexternal_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/ChangeLog8655
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