diff options
author | Steve Block <steveblock@google.com> | 2010-02-15 12:23:52 +0000 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-02-16 11:48:32 +0000 |
commit | 8a0914b749bbe7da7768e07a7db5c6d4bb09472b (patch) | |
tree | 73f9065f370435d6fde32ae129d458a8c77c8dff /WebCore/ChangeLog | |
parent | bf14be70295513b8076f3fa47a268a7e42b2c478 (diff) | |
download | external_webkit-8a0914b749bbe7da7768e07a7db5c6d4bb09472b.zip external_webkit-8a0914b749bbe7da7768e07a7db5c6d4bb09472b.tar.gz external_webkit-8a0914b749bbe7da7768e07a7db5c6d4bb09472b.tar.bz2 |
Merge webkit.org at r54731 : Initial merge by git
Change-Id: Ia79977b6cf3b0b00c06ef39419989b28e57e4f4a
Diffstat (limited to 'WebCore/ChangeLog')
-rw-r--r-- | WebCore/ChangeLog | 3768 |
1 files changed, 3768 insertions, 0 deletions
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index db4c515..5a13318 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,3771 @@ +2010-02-12 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7609268> REGRESSION (r50301): Problem selecting text in a Devanagari website + https://bugs.webkit.org/show_bug.cgi?id=34865 + + Test: fast/text/glyph-reordering.html + + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): + (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic): Added. Sets m_isMonotonic + and populates m_glyphEndOffsets with the end offsets of each glyph’s corresponding character range. + (WebCore::ComplexTextController::advance): For non-monotonic runs, use endOffsetAt() to get + glyphs’ end offsets. + (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Check for monotonicity and call + setIsNonMonotonic() if needed. + * platform/graphics/mac/ComplexTextController.h: + (WebCore::ComplexTextController::ComplexTextRun::lastIndexAt): Added this getter. + (WebCore::ComplexTextController::ComplexTextRun::isMonotonic): Ditto. + * platform/graphics/mac/ComplexTextControllerATSUI.cpp: + (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Initialize m_isMonotonic. + * platform/graphics/mac/ComplexTextControllerCoreText.cpp: + (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto. + +2010-02-12 Alexey Proskuryakov <ap@apple.com> + + Reviewed by David Levin. + + https://bugs.webkit.org/show_bug.cgi?id=34866 + Leopard Debug Bot crashed on fast/forms/old-names.html + + * html/HTMLFormCollection.cpp: (WebCore::HTMLFormCollection::formCollectionInfo): Removed + a misplaced checkConsistency() call. We are not looking at cache content at this point, and + caches will be reset on next access. + +2010-02-12 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: restore highlighting animation, bring back + keyboard navigation, beautify search results. + + https://bugs.webkit.org/show_bug.cgi?id=34853 + + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer): + (WebInspector.TextViewer.prototype.highlightLine): + * inspector/front-end/textViewer.css: + +2010-02-12 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + [v8] handle to the document can only own Objects, not Values + https://bugs.webkit.org/show_bug.cgi?id=34854 + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::updateDocumentWrapper): + (WebCore::V8DOMWindowShell::updateDocumentWrapperCache): + * bindings/v8/V8DOMWindowShell.h: + * bindings/v8/custom/V8DocumentCustom.cpp: + (WebCore::toV8): + +2010-02-12 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Holger Freyther. + + Replaced stray CRLF with LF. + + * wml/WMLInputElement.cpp: + (WebCore::WMLInputElement::suggestedValue): + * wml/WMLInputElement.h: + +2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Tor Arne Vestbø. + + [Qt] Make qtlauncher and qgvlauncher use the generated headers + path to make sure they are correctly generated. + + * WebCore.pro: + +2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Tor Arne Vestbø. + + [Qt] Ensure relative paths in generated .pri files to ensure that + a source package with pre-generated derived sources can be compiled. + + - Re-add a separate headers.pri file for WEBKIT_API_HEADERS + - Rename the generated headers.pri to classheaders.pri to avoid + confusion with the one generated by synqt since they don't have the + same content. + - Remove private headers list variable from classheaders.pri + - Use $$PWD in classheaders.pri + - Remove classheaders.pri from the installed files + + * WebCore.pro: + +2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Tor Arne Vestbø. + + [Qt] Manually add support for the install target on Symbian. + + This is required to copy the headers over the ones in Qt. + + * WebCore.pro: + +2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Tor Arne Vestbø. + + [Qt] Minor fixes on QtWebKit headers generation. + + - Adds QtWebKit to the generated headers destination path + - Improve compatibility with MinGW + + * WebCore.pro: + +2010-02-11 Fumitoshi Ukai <ukai@chromium.org> + + Reviewed by Alexey Proskuryakov. + + WebSocket ignores HttpOnly cookies, but should use in Handshake. + https://bugs.webkit.org/show_bug.cgi?id=34289 + + Test: websocket/tests/cookies/httponly-cookie.pl + + * platform/CookieJar.h: add cookieRequestHeaderFieldValue() + * platform/chromium/ChromiumBridge.h: + * platform/haiku/CookieJarHaiku.cpp: + (WebCore::cookieRequestHeaderFieldValue): + * platform/mac/CookieJar.mm: + (WebCore::cookies): + (WebCore::cookieRequestHeaderFieldValue): + * platform/network/android/CookieJarAndroid.cpp: + (WebCore::cookieRequestHeaderFieldValue): + * platform/network/chromium/CookieJarChromium.cpp: + (WebCore::cookieRequestHeaderFieldValue): + * platform/network/curl/CookieJarCurl.cpp: + (WebCore::cookieRequestHeaderFieldValue): + * platform/network/soup/CookieJarSoup.cpp: + (WebCore::cookieRequestHeaderFieldValue): + * platform/network/win/CookieJarCFNetWin.cpp: + (WebCore::cookieRequestHeaderFieldValue): + * platform/network/win/CookieJarWin.cpp: + (WebCore::cookieRequestHeaderFieldValue): + * platform/qt/CookieJarQt.cpp: + (WebCore::cookieRequestHeaderFieldValue): + * websockets/WebSocketHandshake.cpp: + (WebCore::WebSocketHandshake::clientHandshakeMessage): use cookieRequestHeaderFieldValue() instead of cookies() to include HttpOnly cookies. + +2010-02-11 Ariya Hidayat <ariya.hidayat@gmail.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Use clipRegion instead of clipPath to save lots of CPU cycles. + + https://bugs.webkit.org/show_bug.cgi?id=32375 + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::clipOutEllipseInRect): + +2010-02-11 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Shinichiro Hamaji. + + Rename underscored identifiers in WebCore/css/CSSParser.cpp. + https://bugs.webkit.org/show_bug.cgi?id=34877 + Also fix whitespace erros that surface due to the above fix. + + This doesn't change the code logic. Hence no new tests are required. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + +2010-02-11 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Focusing a resource in the inspector should default to content not header + https://bugs.webkit.org/show_bug.cgi?id=34861 + + * inspector/front-end/Settings.js: + (WebInspector.Settings.prototype._load): changed initial default to content tab + +2010-02-11 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Editing Styles Cannot Tab Backwards from a New Style Item + https://bugs.webkit.org/show_bug.cgi?id=34872 + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertiesSection.prototype.update): triggers afterUpdate + (WebInspector.StylePropertiesSection.prototype.afterUpdate): factored out _afterUpdate handling + +2010-02-11 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Eric Seidel. + + Add roundedIntSize() convenience method converting FloatSize to IntSize, just like roundedIntPoint() converting FloatPoint to IntPoint. + + * platform/graphics/FloatSize.h: + (WebCore::roundedIntSize): + +2010-02-11 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Adler. + + Fix two issues on maxLength. + https://bugs.webkit.org/show_bug.cgi?id=34783 + + - ValidityState.tooLong behavior was inconsistent with UIs of + <input> and <textarea>. tooLong checked Unicode code point length + though the UIs checks grapheme cluster length. + + - Setting HTMLTextAreaElement::value didn't update the dirty flag. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::tooLong): Use numGraphemeClusters() instead of length(). + * html/HTMLTextAreaElement.cpp: + Rename setValue() to setNonDirtyValue(), and introduce setValue() + which calls setNonDirtyValue() and sets the dirty flag. + (WebCore::HTMLTextAreaElement::childrenChanged): + (WebCore::HTMLTextAreaElement::reset): + (WebCore::HTMLTextAreaElement::setValue): + (WebCore::HTMLTextAreaElement::setNonDirtyValue): + (WebCore::HTMLTextAreaElement::setDefaultValue): + (WebCore::HTMLTextAreaElement::tooLong): Use numGraphemeClusters() instead of length(). + * html/HTMLTextAreaElement.h: + +2010-02-11 Fumitoshi Ukai <ukai@chromium.org> + + Reviewed by Alexey Proskuryakov. + + WebSocket bufferedAmount should not be 0 when send after close. + https://bugs.webkit.org/show_bug.cgi?id=34633 + + Test: websocket/tests/bufferedAmount-after-close.html + + * websockets/ThreadableWebSocketChannelClientWrapper.h: + (WebCore::ThreadableWebSocketChannelClientWrapper::didClose): + * websockets/WebSocket.cpp: + (WebCore::WebSocket::WebSocket): + (WebCore::WebSocket::send): + (WebCore::WebSocket::close): + (WebCore::WebSocket::bufferedAmount): + (WebCore::WebSocket::didConnect): + (WebCore::WebSocket::didClose): + * websockets/WebSocket.h: + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::WebSocketChannel): + (WebCore::WebSocketChannel::send): + (WebCore::WebSocketChannel::bufferedAmount): + (WebCore::WebSocketChannel::didClose): + * websockets/WebSocketChannel.h: + * websockets/WebSocketChannelClient.h: + (WebCore::WebSocketChannelClient::didClose): + * websockets/WorkerThreadableWebSocketChannel.cpp: + (WebCore::workerContextDidClose): + (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose): + * websockets/WorkerThreadableWebSocketChannel.h: + +2010-02-11 Fumitoshi Ukai <ukai@chromium.org> + + Reviewed by Alexey Proskuryakov. + + WebSocket in Worker failed to close + https://bugs.webkit.org/show_bug.cgi?id=34785 + + Tests: websocket/tests/workers/close-in-shared-worker.html + websocket/tests/workers/close-in-worker.html + + * websockets/WorkerThreadableWebSocketChannel.cpp: + (WebCore::WorkerThreadableWebSocketChannel::close): + +2010-02-11 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Eric Seidel. + + [BREWMP] Add dummy Cursor + https://bugs.webkit.org/show_bug.cgi?id=34672 + + * platform/brew/CursorBrew.cpp: Added. + (WebCore::Cursor::Cursor): + (WebCore::Cursor::~Cursor): + (WebCore::Cursor::operator=): + (WebCore::dummyCursor): + (WebCore::pointerCursor): + (WebCore::crossCursor): + (WebCore::handCursor): + (WebCore::moveCursor): + (WebCore::iBeamCursor): + (WebCore::waitCursor): + (WebCore::helpCursor): + (WebCore::eastResizeCursor): + (WebCore::northResizeCursor): + (WebCore::northEastResizeCursor): + (WebCore::northWestResizeCursor): + (WebCore::southResizeCursor): + (WebCore::southEastResizeCursor): + (WebCore::southWestResizeCursor): + (WebCore::westResizeCursor): + (WebCore::northSouthResizeCursor): + (WebCore::eastWestResizeCursor): + (WebCore::northEastSouthWestResizeCursor): + (WebCore::northWestSouthEastResizeCursor): + (WebCore::columnResizeCursor): + (WebCore::rowResizeCursor): + (WebCore::verticalTextCursor): + (WebCore::cellCursor): + (WebCore::contextMenuCursor): + (WebCore::noDropCursor): + (WebCore::copyCursor): + (WebCore::progressCursor): + (WebCore::aliasCursor): + (WebCore::noneCursor): + (WebCore::notAllowedCursor): + (WebCore::zoomInCursor): + (WebCore::zoomOutCursor): + (WebCore::middlePanningCursor): + (WebCore::eastPanningCursor): + (WebCore::northPanningCursor): + (WebCore::northEastPanningCursor): + (WebCore::northWestPanningCursor): + (WebCore::southPanningCursor): + (WebCore::southEastPanningCursor): + (WebCore::southWestPanningCursor): + (WebCore::westPanningCursor): + (WebCore::grabCursor): + (WebCore::grabbingCursor): + +2010-02-11 Nate Chapin <japhet@chromium.org> + + Reviewed by Dimitri Glazkov. + + [V8] Add back in a fast path for v8 object wrapping + when it's not possible we're in a WorkerContext (the fast + path is important for performance). + + https://bugs.webkit.org/show_bug.cgi?id=34805 + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::instantiateV8ObjectInWorkerContext): + (WebCore::V8DOMWrapper::instantiateV8Object): + * bindings/v8/V8DOMWrapper.h: + +2010-02-11 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Small cleanups in SVG render tree code. + Centralize calls to inflateShadow(), in SVGRenderSupport::computeRectForRepaint, + instead of spreading them around the subclasses. All classes should inherit + protected from SVGRenderBase, made it consistent. + + Doesn't affect layout tests. + + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::computeRectForRepaint): + * rendering/RenderSVGImage.h: + * rendering/RenderSVGModelObject.cpp: + (WebCore::RenderSVGModelObject::computeRectForRepaint): + * rendering/RenderSVGRoot.h: + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::computeRectForRepaint): + (WebCore::RenderSVGText::layout): + * rendering/SVGRenderSupport.cpp: + (WebCore::SVGRenderBase::computeRectForRepaint): + * rendering/SVGRootInlineBox.h: + +2010-02-11 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=34857 + Move InlineIterator and BidiRun into new files so subclasses can access them. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * rendering/BidiRun.cpp: Added. + (WebCore::BidiRun::destroy): + (WebCore::throw): + (WebCore::BidiRun::operator delete): + * rendering/BidiRun.h: Added. + (WebCore::BidiRun::BidiRun): + (WebCore::BidiRun::next): + * rendering/InlineIterator.h: Added. + (WebCore::InlineIterator::InlineIterator): + (WebCore::operator==): + (WebCore::operator!=): + (WebCore::bidiNext): + (WebCore::bidiFirst): + (WebCore::InlineIterator::increment): + (WebCore::InlineIterator::atEnd): + (WebCore::InlineIterator::current): + (WebCore::InlineIterator::direction): + (WebCore::InlineBidiResolver::increment): + (WebCore::InlineBidiResolver::appendRun): + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::appendRunsForObject): + (WebCore::RenderBlock::requiresLineBox): + +2010-02-11 Steve Block <steveblock@google.com> + + Reviewed by Dimitri Glazkov. + + Fixes CodeGeneratorV8.pm to include the header for the indexer type when using setCollectionIndexedGetter() + https://bugs.webkit.org/show_bug.cgi?id=34836 + + setCollectionIndexedGetter() uses getIndexedPropertyOfCollection(), + which in turn uses toV8() with the indexer type, which is declared in + the header for the indexer type. + + No new tests, build fix only. + + * bindings/scripts/CodeGeneratorV8.pm: + +2010-02-11 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: split source code into chunks in order to improve text + viewer performance on large files. + + https://bugs.webkit.org/show_bug.cgi?id=34816 + + This change brings back SourceFrame's canvas+style magic, restores line + wrapping and makes things a lot like they used to be. + It removes TextEditor for now and renames NativeTextViewer into TextViewer. + TextViewer is no longer derived from TextEditor. + This TextViewer is still based on TextEditorModel, no iframes are involved. + + Instead of creating div per line, TextViewer splits source code into 50 line + chunks. Upon scroll event, visible chunks are sharded into lines and individual + lines are highlighted. Whenever highlighted region gets outside of the visible + area, highlight spans are thrown away and region is replaced with the original + plain text chunk. + + Complex stuff: + - Whenever there is a need to manipulate individual lines (add message bubble / + set breakpoint / reveal / etc.), individual chunks for such lines are created. + - There is also an implicit machinery that is maintaining selection when it + goes beyond the visible area. + - Search occurrences are implemented as artificial spans interweaving + highlighting markup. + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/NativeTextViewer.js: Removed. + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView): + * inspector/front-end/Settings.js: + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): + (WebInspector.SourceFrame.prototype.set visible): + (WebInspector.SourceFrame.prototype.set executionLine): + (WebInspector.SourceFrame.prototype.revealLine): + (WebInspector.SourceFrame.prototype.addBreakpoint): + (WebInspector.SourceFrame.prototype.removeBreakpoint): + (WebInspector.SourceFrame.prototype.addMessage): + (WebInspector.SourceFrame.prototype.clearMessages): + (WebInspector.SourceFrame.prototype.sizeToFitContentHeight): + (WebInspector.SourceFrame.prototype.setContent): + (WebInspector.SourceFrame.prototype.highlightLine): + (WebInspector.SourceFrame.prototype._createViewerIfNeeded): + (WebInspector.SourceFrame.prototype.markAndRevealRange): + (WebInspector.SourceFrame.prototype.clearMarkedRange): + (WebInspector.SourceFrame.prototype._breakpointChanged): + (WebInspector.SourceFrame.prototype._updateExecutionLine): + (WebInspector.SourceFrame.prototype._addMessageToSource): + (WebInspector.SourceFrame.prototype._addExistingBreakpointsToSource): + (WebInspector.SourceFrame.prototype._addBreakpointToSource): + (WebInspector.SourceFrame.prototype._removeBreakpointFromSource): + (WebInspector.SourceFrame.prototype._mouseDown): + (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed): + (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed): + (WebInspector.SourceFrame.prototype._editBreakpointCondition): + (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup): + (WebInspector.SourceFrame.prototype._createConditionElement): + (WebInspector.SourceFrame.prototype._keyDown): + (WebInspector.SourceFrame.prototype.resize): + (WebInspector.SourceFrame.prototype._drawProgramCounterInContext): + (WebInspector.SourceFrame.prototype._drawProgramCounterImageIfNeeded): + (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded.drawBreakpoint): + (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView): + (WebInspector.SourceView.prototype._removeBreakpoint): + (WebInspector.SourceView.prototype.searchCanceled): + (WebInspector.SourceView.prototype._jumpToSearchResult): + * inspector/front-end/TextEditor.js: Removed. + * inspector/front-end/TextViewer.js: Added. + (WebInspector.TextViewer): + (WebInspector.TextViewer.prototype.set mimeType): + (WebInspector.TextViewer.prototype.get textModel): + (WebInspector.TextViewer.prototype.revealLine): + (WebInspector.TextViewer.prototype.addDecoration): + (WebInspector.TextViewer.prototype.removeDecoration): + (WebInspector.TextViewer.prototype.markAndRevealRange): + (WebInspector.TextViewer.prototype.highlightLine): + (WebInspector.TextViewer.prototype._textChanged): + (WebInspector.TextViewer.prototype._createChunkRow): + (WebInspector.TextViewer.prototype._makeLineAChunk): + (WebInspector.TextViewer.prototype._indexChunks): + (WebInspector.TextViewer.prototype._highlightChanged): + (WebInspector.TextViewer.prototype._scroll): + (WebInspector.TextViewer.prototype.setCoalescingUpdate): + (WebInspector.TextViewer.prototype._repaintAll): + (WebInspector.TextViewer.prototype._chunkForOffset): + (WebInspector.TextViewer.prototype._chunkNumberForLine): + (WebInspector.TextViewer.prototype._chunkStartLine): + (WebInspector.TextViewer.prototype._restoreChunks): + (WebInspector.TextViewer.prototype._repaint): + (WebInspector.TextViewer.prototype._getSelection): + (WebInspector.TextViewer.prototype._restoreSelection): + (WebInspector.TextViewer.prototype._selectionToPosition): + (WebInspector.TextViewer.prototype._createLineRow): + (WebInspector.TextViewer.prototype._paintLine): + (WebInspector.TextViewer.prototype._createSpan): + (WebInspector.TextViewer.prototype._createLink): + (WebInspector.TextViewer.prototype._rewriteHref): + (WebInspector.TextViewer.prototype._markRange): + (WebInspector.TextViewer.prototype._decimalDigits): + (WebInspector.TextViewer.prototype.resize): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.css: + * inspector/front-end/inspector.html: + * inspector/front-end/textEditor.css: Removed. + * inspector/front-end/textViewer.css: Added. + * inspector/front-end/utilities.js: + (Node.prototype.traverseNextTextNode): + (Node.prototype.rangeBoundaryForOffset): + +2010-02-11 Csaba Osztrogonác <ossy@webkit.org> + + Reviewed by Tor Arne Vestbø. + + [Qt] ENABLE_RUBY flag was restored by r54649, but default value wasn't added for Qt port. + https://bugs.webkit.org/show_bug.cgi?id=34698 + + * WebCore.pri: Add ENABLE_RUBY=1 as default setting. + +2010-02-11 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + Updates Android V8 Makefile to generate Notifications and WebSockets headers required by V8DOMWrapper.cpp + https://bugs.webkit.org/show_bug.cgi?id=34815 + + No new tests, build fix only. + + * Android.derived.v8bindings.mk: + +2010-02-11 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + Updates Android V8 Makefile to generate XPath header required by V8Proxy.cpp + https://bugs.webkit.org/show_bug.cgi?id=34814 + + No new tests, build fix only. + + * Android.derived.v8bindings.mk: + +2010-02-11 Steve Block <steveblock@google.com> + + Reviewed by Nate Chapin. + + Update Android V8 Makefile to generate Inspector headers required by V8 ScriptObject.cpp + https://bugs.webkit.org/show_bug.cgi?id=34806 + + No new tests, build fix only. + + * Android.derived.v8bindings.mk: + +2010-02-11 Steve Block <steveblock@google.com> + + Reviewed by David Levin. + + Guards SVG code in V8 bindings with ENABLE(SVG) + https://bugs.webkit.org/show_bug.cgi?id=34812 + + Also updates Android V8 Makefile to generate required SVG headers. + + No new tests, build fix only. + + * Android.derived.v8bindings.mk: + * bindings/v8/custom/V8CSSValueCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8DocumentCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8ElementCustom.cpp: + (WebCore::toV8): + +2010-02-08 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Cameron Zwarich. + + Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose. + https://bugs.webkit.org/show_bug.cgi?id=34698 + + * Configurations/FeatureDefines.xcconfig: + * DerivedSources.make: + * GNUmakefile.am: + * html/HTMLTagNames.in: Make the ruby-related tag names conditional. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::createObject): ifdef the code that would create ruby elements. + * rendering/RenderObject.h: ditto above + * rendering/RenderRuby.cpp: ifdef this whole file + * rendering/RenderRuby.h: ditto + * rendering/RenderRubyBase.cpp: ditto + * rendering/RenderRubyBase.h: ditto + * rendering/RenderRubyRun.cpp: ditto + * rendering/RenderRubyRun.h: ditto + * rendering/RenderRubyText.cpp: ditto + * rendering/RenderRubyText.h: ditto + +2010-02-11 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Adler. + + Step attribute support for date&time types. + https://bugs.webkit.org/show_bug.cgi?id=30847 + + - Add implementation for ValidityState.stepMismatch, stepUp() and + stepDown() for date, datetime, datetime-local, month, time, week types. + - Fix string representation of DateComponents. + + Tests: fast/forms/ValidityState-stepMismatch.html + fast/forms/input-stepup-stepdown.html + + * html/HTMLInputElement.cpp: + - Change monthDefaultMaximum so that DateComponents::m_year doesn't overflow. + (WebCore::HTMLInputElement::stepBase): + (WebCore::HTMLInputElement::stepMismatch): + (WebCore::HTMLInputElement::getStepParameters): + (WebCore::HTMLInputElement::getAllowedValueStep): + (WebCore::HTMLInputElement::applyStep): + Renamed from applyStepForNumberOrRange(), and add support for other types. + (WebCore::HTMLInputElement::stepUp): Rename applyStepForNumberOrRange(). + (WebCore::HTMLInputElement::stepDown): Rename applyStepForNumberOrRange(). + (WebCore::HTMLInputElement::setValueAsDate): Use setDateValue(). + (WebCore::HTMLInputElement::setDateValue): + A helper function to make the best representation of DateComponents. + (WebCore::HTMLInputElement::setValueAsNumber): Use setDateValue(). + * html/HTMLInputElement.h: + +2010-02-10 Oliver Hunt <oliver@apple.com> + + Reviewed by Gavin Barraclough. + + postMessage does not send ImageData + https://bugs.webkit.org/show_bug.cgi?id=34825 + + Implement serialisation of ImageData, and for testing reasons + expose the ImageData constructor (which should already have + been exposed). + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::SerializedImageData::create): + (WebCore::SerializedImageData::width): + (WebCore::SerializedImageData::height): + (WebCore::SerializedImageData::data): + (WebCore::SerializedImageData::SerializedImageData): + (WebCore::SerializedScriptValueData::SerializedScriptValueData): + (WebCore::SharedSerializedData::asImageData): + (WebCore::SerializingTreeWalker::convertIfTerminal): + (WebCore::DeserializingTreeWalker::convertIfTerminal): + (WebCore::TeardownTreeWalker::convertIfTerminal): + * bindings/js/SerializedScriptValue.h: + (WebCore::SerializedScriptValueData::): + (WebCore::SerializedScriptValueData::asImageData): + * html/canvas/CanvasPixelArray.h: + (WebCore::CanvasPixelArray::data): + * page/DOMWindow.idl: + +2010-02-10 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Address last round of review comments on r53607 + https://bugs.webkit.org/show_bug.cgi?id=33940 + + Mostly renaming and cleaning up. + + * css/CSSImportRule.cpp: + (WebCore::CSSImportRule::insertedIntoParent): + * css/CSSStyleSheet.h: + (WebCore::CSSStyleSheet::create): + (WebCore::CSSStyleSheet::createInline): + * css/StyleBase.cpp: + (WebCore::StyleBase::baseURL): + * css/StyleSheet.cpp: + (WebCore::StyleSheet::StyleSheet): + * css/StyleSheet.h: + (WebCore::StyleSheet::href): + (WebCore::StyleSheet::setFinalURL): + (WebCore::StyleSheet::finalURL): + * dom/Document.cpp: + (WebCore::Document::updateBaseURL): + * dom/ProcessingInstruction.cpp: + (WebCore::ProcessingInstruction::checkStyleSheet): + * xml/XSLImportRule.cpp: + (WebCore::XSLImportRule::loadSheet): + * xml/XSLStyleSheet.h: + (WebCore::XSLStyleSheet::create): + (WebCore::XSLStyleSheet::createInline): + * xml/XSLStyleSheetLibxslt.cpp: + (WebCore::XSLStyleSheet::XSLStyleSheet): + (WebCore::XSLStyleSheet::parseString): + (WebCore::XSLStyleSheet::loadChildSheets): + * xml/XSLStyleSheetQt.cpp: + (WebCore::XSLStyleSheet::XSLStyleSheet): + +2010-02-10 Noam Rosenthal <noam.rosenthal@nokia.com> + + Reviewed by Ariya Hidayat. + + [Qt] GraphicsLayer: somtimes the item flickers at the end of an animation + This is because we try to delete the animation when finished: that is + unnecessary. WebCore manages the animation's lifecycle and makes sure + to call the right function when the animation can be deleted. + + https://bugs.webkit.org/show_bug.cgi?id=34761 + + No new tests. + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQt::addAnimation): No need to delete here + (WebCore::GraphicsLayerQt::removeAnimationsForProperty): deleteLater + +2010-02-10 Kevin Ollivier <kevino@theolliviers.com> + + [wx] Build fix for wxMac/Cocoa. + + * platform/wx/wxcode/mac/carbon/fontprops.cpp: Removed. + * platform/wx/wxcode/mac/carbon/fontprops.mm: Copied from WebCore/platform/wx/wxcode/mac/carbon/fontprops.cpp. + * wscript: + +2010-02-10 Jon Honeycutt <jhoneycutt@apple.com> + + REGRESSION(24929): PDF page doesn't load in background tab + + Reviewed by Dan Bernstein. + + * plugins/PluginView.cpp: + (WebCore::PluginView::startOrAddToUnstartedList): + Only delay loading of the plug-in if we'll kick off our own load of the + plug-in data later, in start(). + +2010-02-10 Enrica Casucci <enrica@apple.com> + + Reviewed by Simon Fraser. + + Crash in WebKit!WebCore::RenderTextControlSingleLine::createInnerTextStyle doing anything in Safari after sitting on a page with 3D site + <rdar://problem/7557201> + https://bugs.webkit.org/show_bug.cgi?id=34823 + + No tests added because the code is exercised by the existing tests. + + The root cause was the fact that we were not releasing a reference that was held by CA. + In debug builds we had an assert in the destructor of WKCACFLayer. + + * platform/graphics/win/GraphicsLayerCACF.cpp: + (WebCore::GraphicsLayerCACF::~GraphicsLayerCACF): + +2010-02-10 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Eric Seidel. + + [BREWMP] Typedef DragImageRef + https://bugs.webkit.org/show_bug.cgi?id=34791 + + Use IImage* as it is the BREW's image type. + + * platform/DragImage.h: + +2010-02-10 Beth Dakin <bdakin@apple.com> + + Reviewed by Simon Fraser and Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=34185 REGRESSION: + Mask not invalidating + + SVGMaskElement is the only class that keeps a HashMap of canvas + resources rather than just a pointer to a resource. This + patch makes SVGMaskElement invalidate all of its resources in the + HashMap instead of just one. + + * svg/SVGMaskElement.cpp: + (WebCore::SVGMaskElement::svgAttributeChanged): + (WebCore::SVGMaskElement::childrenChanged): + (WebCore::SVGMaskElement::invalidateCanvasResources): + * svg/SVGMaskElement.h: + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain): + (WebCore::SVGStyledElement::invalidateCanvasResources): + * svg/SVGStyledElement.h: + +2010-02-10 Stephan Aßmus <superstippi@gmx.de> + + Reviewed by David Levin. + + Fixes to rect conversion and image rendering on Haiku + https://bugs.webkit.org/show_bug.cgi?id=34684 + + Covered by existing tests. + + The changes to the rect conversions are indeed correct. In Haiku (to stay + compatibly with BeOS), a BRect specifies the left/top and bottom/right pixel + *indices*, even though the values are floating point. So a rectangle covering + just one pixel would be specified as BRect(0, 0, 0, 0). In WebCore and other + frame works, such rectangles would be expressed as 0, 0, 1, 1. In WebCore, the + width and height of rectangles refer to the distance between pixels, while on + Haiku, a one pixel rect has indeed a width and height of 0, as confusing as + that may be. + + The part of the patch that affects + WebCore/platform/graphics/haiku/ImageHaiku.cpp also implements the drawing + methods more correctly. Image observers are notified, and pattern drawing takes + the "phase" into account which makes scrolled backgrounds render correctly. + Transformations are still not supported, since the Haiku drawing backend itself + does not yet support them. + + Use OwnPtr when creating the BBitmap to avoid future leaks with early returns. + + Convert the bitmap data to non pre-multiplied until Haiku supports drawing + pre-multiplied bitmaps. + + * platform/graphics/haiku/FloatRectHaiku.cpp: Fixed conversion + * platform/graphics/haiku/ImageHaiku.cpp: + (WebCore::BitmapImage::draw): Fixed placement, notify observers + (WebCore::Image::drawPattern): Implemented using "phase" to fix scrolling, notify observers + * platform/graphics/haiku/IntRectHaiku.cpp: Fixed conversion + * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Fixed conversion + +2010-02-10 Simon Fraser <simon.fraser@apple.com> + + Reviewed by David Levin. + + Clean up unused member var and initialization in Document + https://bugs.webkit.org/show_bug.cgi?id=34820 + + Remove unused m_secureForms member variable in Document. + + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/Document.h: + +2010-02-10 Kevin Watters <kevinwatters@gmail.com> + + Reviewed by Kevin Ollivier. + + [wx] Add Windows complex text support and Mac support for containsCharacters. + + https://bugs.webkit.org/show_bug.cgi?id=34759 + + * platform/graphics/SimpleFontData.h: + * platform/graphics/wx/FontPlatformData.h: + (WebCore::FontPlatformData::roundsGlyphAdvances): + * platform/graphics/wx/FontPlatformDataWx.cpp: + (WebCore::FontPlatformData::useGDI): + (WebCore::FontPlatformData::hfont): + * platform/graphics/wx/FontWx.cpp: + (WebCore::Font::canReturnFallbackFontsForComplexText): + (WebCore::Font::selectionRectForComplexText): + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + * platform/graphics/wx/SimpleFontDataWx.cpp: + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::platformDestroy): + (WebCore::SimpleFontData::containsCharacters): + (WebCore::SimpleFontData::platformWidthForGlyph): + (WebCore::SimpleFontData::scriptFontProperties): + (WebCore::SimpleFontData::initGDIFont): + (WebCore::SimpleFontData::platformCommonDestroy): + (WebCore::SimpleFontData::widthForGDIGlyph): + * platform/wx/wxcode/fontprops.h: + * platform/wx/wxcode/gtk/fontprops.cpp: + (wxFontContainsCharacters): + * platform/wx/wxcode/mac/carbon/fontprops.cpp: + (wxFontContainsCharacters): + * platform/wx/wxcode/win/fontprops.cpp: + (wxFontContainsCharacters): + * platform/wx/wxcode/win/non-kerned-drawing.cpp: + (WebCore::drawTextWithSpacing): + * wscript: + +2010-02-10 Kwang Yul Seo <skyul@company100.net> + Reviewed by Eric Seidel. + + [BREWMP] Add dummy Frame::dragImageForSelection + https://bugs.webkit.org/show_bug.cgi?id=34792 + + Add FrameBrew.cpp which contains a dummy implementation of + Frame::dragImageForSelection. + + * page/brew/FrameBrew.cpp: Added. + (WebCore::Frame::dragImageForSelection): + +2010-02-10 Kevin Ollivier <kevino@theolliviers.com> + + [wx] Build fix. Switch drawPattern to Image class like other platforms. + + * platform/graphics/BitmapImage.h: + * platform/graphics/wx/ImageWx.cpp: + (WebCore::Image::drawPattern): + +2010-02-10 Chris Marrin <cmarrin@apple.com> + + Reviewed by Darin Adler. + + Added CA_PRINT_TREE functionality to WKCACFLayer implementation + https://bugs.webkit.org/show_bug.cgi?id=34779 + + I've tried to duplicate the look of the output on Mac, but + it's not quite the same. It shows all the useful information though. + It is enabled by setting the environment variable CA_PRINT_TREE=1 + + * platform/graphics/win/WKCACFLayer.cpp:Implementation of printTree + (WebCore::WKCACFLayer::isTransformLayer): + Moved function to cpp file because it needs to use the function form + of kCACFTransformLayer because the DLL is delay loaded, and that function + can only be called from the cpp file. + (WebCore::WKCACFLayer::sublayerAtIndex): + (WebCore::printIndent): + (WebCore::printTransform): + (WebCore::WKCACFLayer::printTree):Prints from this layer down + (WebCore::WKCACFLayer::printLayer):Prints this layer and recursively calls sublayers + * platform/graphics/win/WKCACFLayer.h: + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): + (WebCore::WKCACFLayerRenderer::createRenderer):Adds a name to the root layers + (WebCore::WKCACFLayerRenderer::render):Calls printTree when CA_PRINT_TREE is 1 + * platform/graphics/win/WKCACFLayerRenderer.h: + +2010-02-10 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Change V8DOMWrapper::lookupDOMWrapper() and configureTemplate() + to not use V8ClassIndex. + + https://bugs.webkit.org/show_bug.cgi?id=34768 + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8Binding.cpp: + * bindings/v8/V8Binding.h: + * bindings/v8/V8DOMWindowShell.cpp: + * bindings/v8/V8DOMWrapper.cpp: + * bindings/v8/V8DOMWrapper.h: + * bindings/v8/V8Proxy.cpp: + * bindings/v8/WorkerContextExecutionProxy.cpp: + * bindings/v8/custom/V8DOMWindowCustom.cpp: + * bindings/v8/custom/V8LocationCustom.cpp: + * bindings/v8/custom/V8MessageEventCustom.cpp: + +2010-02-10 Nate Chapin <japhet@chromium.org> + + Reviewed by Dimitri Glazkov. + + [V8] Handle the possibility that ScheduledAction::execute() may + retrieve a null V8Proxy* even if not in a WorkerContext (e.g., if + JS was disallowed). + + * bindings/v8/ScheduledAction.cpp: + (WebCore::ScheduledAction::execute): + +2010-02-10 Kenneth Russell <kbr@google.com> + + Reviewed by Oliver Hunt. + + Remove automatic viewport resizing + https://bugs.webkit.org/show_bug.cgi?id=34766 + + Removed automatic viewport resizing per conclusions on the WebGL + mailing list. Added test verifying new behavior and updated a + couple of previous tests failing after this change. + + Test: fast/canvas/webgl/viewport-unchanged-upon-resize.html + + * platform/graphics/mac/GraphicsContext3DMac.cpp: + (WebCore::GraphicsContext3D::reshape): + +2010-02-10 Ariya Hidayat <ariya.hidayat@gmail.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Implement image interpolation quality. + + https://bugs.webkit.org/show_bug.cgi?id=34629 + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + (WebCore::GraphicsContext::setImageInterpolationQuality): + (WebCore::GraphicsContext::imageInterpolationQuality): + +2010-02-10 Eric Seidel <eric@webkit.org> + + No review, Mac build fix. + + Crash in Flash at http://www.cctv.com/ + https://bugs.webkit.org/show_bug.cgi?id=34673 + + * plugins/PluginViewNone.cpp: + (WebCore::PluginView::getValueStatic): + +2010-02-10 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Xan Lopez. + + [GTK] Hits assertion on history back, with page cache enabled, in specific conditions + https://bugs.webkit.org/show_bug.cgi?id=34773 + + When unsetting the adjustments from a ScrollView, also disconnect + them from the Scrollbars. + + Test: fast/frames/frame-crash-with-page-cache.html + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::setGtkAdjustments): + * platform/gtk/ScrollbarGtk.cpp: + (ScrollbarGtk::~ScrollbarGtk): + (ScrollbarGtk::detachAdjustment): + * platform/gtk/ScrollbarGtk.h: + +2010-02-09 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Geoffrey Garen. + + https://bugs.webkit.org/show_bug.cgi?id=34490 + WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions + + Test: fast/images/destroyed-image-load-event.html + + * ForwardingHeaders/wtf/ValueCheck.h: Added. + + * loader/ImageLoader.cpp: + (WTF::ValueCheck): Special case value check for ImageLoader - it's allocated inside elements, + so check the owner instead. + (WebCore::ImageEventSender::hasPendingEvents): Added a debugging aid for ImageLoader destructor. + (WebCore::ImageLoader::~ImageLoader): Assert that we're not going to leave dangling pointers + in ImageEventSender. + (WebCore::ImageLoader::setImage): Cancel events that could be dispatched for the previous + image. The only client using this method that I could find was DeleteButton, which doesn't + care about load events for the new image, so I didn't add any code for firing those. + (WebCore::ImageLoader::setLoadingImage): This method only existed to confuse readers - + there wasn't any meaningful code shared (callers just undid most assignments made there). + Merged the logic into callers. + (WebCore::ImageLoader::updateFromElement): We're forgetting the old image, so forget its + old events, too. + (WebCore::ImageLoader::notifyFinished): This can be called from setImage(), in which case + no one is going to dispatch the event "soon". So, don't queue it. + (WebCore::ImageEventSender::dispatchPendingEvents): Call checkConsistency(). This didn't + help catch this particuar bug, but seems like a useful check anyway. + + * loader/ImageLoader.h: Removed setLoadingImage(). + +2010-02-10 Jon Honeycutt <jhoneycutt@apple.com> + + Mac build fix. Unreviewed. + + * WebCore.xcodeproj/project.pbxproj: + Add PluginViewNone.cpp to the Mac project. + +2010-02-10 Adam Roben <aroben@apple.com> + + Optimize ImageBuffer::toDataURL's CG implementation + + There was some unused code that could have been removed in r31830 when + this function was changed not to flip the CG image anymore. + + Fixes <http://webkit.org/b/34808> ImageBuffer::toDataURL allocates + unnecessary memory under CoreGraphics + + Reviewed by Sam Weinig. + + * platform/graphics/cg/ImageBufferCG.cpp: + (WebCore::ImageBuffer::toDataURL): Don't allocate an unused CGImageRef + and buffer, and switch to the new overload of base64Encode that + doesn't require us to copy all the image data into a Vector first. + + * platform/text/Base64.cpp: + (WebCore::base64Encode): + * platform/text/Base64.h: + Added an overload that takes a raw data pointer and length, just like + we have for base64Decode. The overload that takes a Vector as input + just calls through to the new overload. + +2010-02-10 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + Complete the fix for <rdar://problem/7577604> Drag and Drop: background elements are bleeding through + https://bugs.webkit.org/show_bug.cgi?id=34546 + + * manual-tests/drag-image-table-part-decorations.html: + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::paint): Don’t paint collapsed borders if this object shouldn’t + paint within the current painting root. + +2010-02-08 Jon Honeycutt <jhoneycutt@apple.com> + + <rdar://problem/7436875> Crash in Flash when visiting + http://www.cctv.com/default.shtml (WER ID 819298200) [watson 2502260] + + Reviewed by Darin Adler. + + Test: platform/win/plugins/plugin-delayed-destroy.html + + * bridge/NP_jsobject.cpp: + (_NPN_Evaluate): + If Flash calls this to evaluate a script that destroys the PluginView, + we crash when returning to Flash code. Before evaluating the script, + call PluginView::keepAlive() to hold a ref to this instance (and release + it asynchronously). + + * plugins/PluginView.cpp: + (WebCore::instanceMap): + Return a map from the NPP to the PluginView. + (WebCore::PluginView::~PluginView): + Assert that the keep alive timer is not running; remove ourselves from + the instance map. + (WebCore::PluginView::performRequest): + The parent Frame is now a RefPtr; use .get(). + (WebCore::PluginView::status): + Ditto. + (WebCore::PluginView::didReceiveResponse): + Ditto. + (WebCore::PluginView::PluginView): + Add the view to the instance map. + (WebCore::PluginView::lifeSupportTimerFired): + Deref the PluginView. + (WebCore::PluginView::keepAlive): + Ref the PluginView, then start a time to release the reference + asynchronously. + (WebCore::PluginView::keepAlive): + Find the PluginView in the map, and call its keepAlive() function. + + * plugins/PluginView.h: + Made m_parentFrame a RefPtr, so that it will remain valid when the + keep alive timer fires. + (WebCore::PluginView::parentFrame): + Use .get(). + + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::updatePluginWidget): + Use .get(). + (WebCore::PluginView::handleKeyboardEvent): + Use .get(). + (WebCore::PluginView::handleMouseEvent): + Use .get(). + + * plugins/PluginViewNone.cpp: + (WebCore::PluginView::keepAlive): + Stubbed. + +2010-02-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> + + Reviewed by Kenneth Rohde Christiansen. + + Support frameset flattening + https://bugs.webkit.org/show_bug.cgi?id=32717 + + Add support for enabling/disabling FrameSet Flattening on the Mac port. + + * WebCore.base.exp: + +2010-02-10 Jeremy Orlow <jorlow@chromium.org> + + Revert 54599 because it breaks a lot of tests on Windows Chrome + + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode.prototype._insertChild): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.updateModifiedNodes): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode): + (WebInspector.ElementsTreeElement): + (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode): + (WebInspector.ElementsTreeElement.prototype._updateChildren): + (): + * inspector/front-end/inspector.css: + +2010-02-10 Adam Roben <aroben@apple.com> + + Fix bad paths in WebCore.vcproj + + These were harmless in VS2005, but cause project conversion errors in + VS2010 RC. + + Fixes <http://webkit.org/b/34801>. + + Reviewed by Dan Bernstein. + + * WebCore.vcproj/WebCore.vcproj: Removed leading "." from paths to + JSHTMLFrameSetElement.{cpp,h}. + +2010-02-10 Julien Chaffraix <jchaffraix@webkit.org> + + Not reviewed (build fix). + + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::FontCache::getLastResortFallbackFont): Return a + SimpleFontData here. + +2010-02-10 Julien Chaffraix <jchaffraix@pleyo.com> + + Reviewed by Eric Seidel. + + Bug 23287 - Avoid using FontPlatformData outside the FontCache + + No functional change, only refactored the code using FontPlatformData to use SimpleFontData. + + This change leaves the class FontCached as it needs some thoughts and more refactoring. + + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): Call getCachedFontData with the 2 parameters directly. + * css/CSSFontSelector.cpp: + (WebCore::fontDataForGenericFamily): Ditto. + * platform/graphics/FontCache.cpp: + (WebCore::FontCache::getCachedFontData): This method is meant to replace getCachedFontPlatformData + that was moved in the private section of the class. It calls getCachedFontPlatformData and cache + the returned FontPlatformData if it is not null. + (WebCore::FontCache::getFontData): Updated to use the new getCachedFontData. + * platform/graphics/FontCache.h: Updated several methods to return a SimpleFontData in lieu of a + FontPlatformData. Moved some method in the private sections. + + * platform/graphics/chromium/FontCacheChromiumWin.cpp: + (WebCore::FontCache::getSimilarFontPlatformData): + (WebCore::FontCache::getLastResortFallbackFont): + * platform/graphics/chromium/FontCacheLinux.cpp: + (WebCore::FontCache::getSimilarFontPlatformData): + (WebCore::FontCache::getLastResortFallbackFont): + * platform/graphics/gtk/FontCacheGtk.cpp: + (WebCore::FontCache::getSimilarFontPlatformData): + (WebCore::FontCache::getLastResortFallbackFont): + * platform/graphics/haiku/FontCacheHaiku.cpp: + (WebCore::FontCache::getSimilarFontPlatformData): + (WebCore::FontCache::getLastResortFallbackFont): + * platform/graphics/qt/FontCacheQt.cpp: + (WebCore::FontCache::getLastResortFallbackFont): + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::FontCache::getSimilarFontPlatformData): + (WebCore::FontCache::getLastResortFallbackFont): + * platform/graphics/wince/FontCacheWince.cpp: + * platform/graphics/wx/FontCacheWx.cpp: + (WebCore::FontCache::getSimilarFontPlatformData): + (WebCore::FontCache::getLastResortFallbackFont): + Updated all the previous platform methods to return a SimpleFontData. + + * platform/graphics/mac/FontCacheMac.mm: + (WebCore::FontCache::getSimilarFontPlatformData): Updated to return a SimpleFontData. + (WebCore::FontCache::getLastResortFallbackFont): Ditto. Also refactored the code + and moved a DEFINE_STATIC_LOCAL where it is needed. + +2010-02-10 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Elements Panel: Limit the number of initially loaded element children + https://bugs.webkit.org/show_bug.cgi?id=34421 + + Test: inspector/elements-panel-limited-children.html + + * English.lproj/localizedStrings.js: + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode.prototype._insertChild): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.updateModifiedNodes): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor): + (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode): + (WebInspector.ElementsTreeElement): + (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit): + (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit): + (WebInspector.ElementsTreeElement.prototype.get expandedChildCount): + (WebInspector.ElementsTreeElement.prototype.showChild): + (WebInspector.ElementsTreeElement.prototype.insertChildElement): + (WebInspector.ElementsTreeElement.prototype.moveChild): + (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode): + (WebInspector.ElementsTreeElement.prototype._updateChildren): + (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange): + (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren): + (): + * inspector/front-end/inspector.css: + +2010-02-10 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Remove several #if USE(JSC) branches. Introduce ScriptDebugServer class for + making JavaScriptDebugServer engine-agnostic. + + https://bugs.webkit.org/show_bug.cgi?id=34795 + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/ScriptDebugServer.cpp: Added. + (WebCore::ScriptDebugServer::recompileAllJSFunctions): + (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon): + * bindings/js/ScriptDebugServer.h: Added. + * bindings/v8/ScriptDebugServer.cpp: Added. + (WebCore::ScriptDebugServer::recompileAllJSFunctions): + (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon): + * bindings/v8/ScriptDebugServer.h: Added. + * inspector/InspectorController.cpp: + (WebCore::InspectorController::startUserInitiatedProfiling): + (WebCore::InspectorController::enableProfiler): + (WebCore::InspectorController::disableProfiler): + * page/Console.cpp: + (WebCore::Console::profile): + (WebCore::Console::profileEnd): + +2009-10-06 Yongjun Zhang <yongjun.zhang@nokia.com> + + Reviewed by Simon Hausmann. + + Make JObjectWrapper::ref() and deref() public accessible to derefIfNull(). + + Will be reverted when the following winscw compiler bug is fixed. + https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812 + + https://bugs.webkit.org/show_bug.cgi?id=28054 + + * bridge/jni/jsc/JavaInstanceJSC.h: + * bridge/jni/v8/JavaInstanceV8.h: + +2010-02-10 Yaar Schnitman <yaar@chromium.org> + + Reviewed by Adam Barth. + + Simplified RuntimeEnabledFeatures and corresponding v8 generated code + https://bugs.webkit.org/show_bug.cgi?id=34667 + + * WebCore.gypi: + * bindings/generic/RuntimeEnabledFeatures.cpp: Added. + (WebCore::RuntimeEnabledFeatures::audioEnabled): + (WebCore::RuntimeEnabledFeatures::htmlMediaElementEnabled): + (WebCore::RuntimeEnabledFeatures::htmlAudioElementEnabled): + (WebCore::RuntimeEnabledFeatures::htmlVideoElementEnabled): + (WebCore::RuntimeEnabledFeatures::mediaErrorEnabled): + (WebCore::RuntimeEnabledFeatures::sharedWorkerEnabled): + (WebCore::RuntimeEnabledFeatures::webSocketEnabled): + (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled): + * bindings/generic/RuntimeEnabledFeatures.h: Added. + (WebCore::RuntimeEnabledFeatures::setLocalStorageEnabled): + (WebCore::RuntimeEnabledFeatures::localStorageEnabled): + (WebCore::RuntimeEnabledFeatures::setSessionStorageEnabled): + (WebCore::RuntimeEnabledFeatures::sessionStorageEnabled): + (WebCore::RuntimeEnabledFeatures::setWebkitNotificationsEnabled): + (WebCore::RuntimeEnabledFeatures::webkitNotificationsEnabled): + (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled): + (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled): + (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled): + (WebCore::RuntimeEnabledFeatures::geolocationEnabled): + (WebCore::RuntimeEnabledFeatures::setIndexedDBEnabled): + (WebCore::RuntimeEnabledFeatures::indexedDBEnabled): + (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures): + * bindings/scripts/CodeGenerator.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/RuntimeEnabledFeatures.cpp: Removed. + * bindings/v8/RuntimeEnabledFeatures.h: Removed. + * bindings/v8/custom/V8DOMWindowCustom.cpp: + * bindings/v8/custom/V8NavigatorCustom.cpp: + * bindings/v8/custom/V8WorkerContextCustom.cpp: + +2010-02-09 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Add two basic categories for the Audits panel + https://bugs.webkit.org/show_bug.cgi?id=32930 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/AuditCategories.js: Added. + (WebInspector.AuditCategories.PagePerformance): + (WebInspector.AuditCategories.PagePerformance.prototype.initialize): + (WebInspector.AuditCategories.NetworkUtilization): + (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize): + * inspector/front-end/AuditLauncherView.js: + (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState): + (WebInspector.AuditLauncherView.prototype._createLauncherUI): + (WebInspector.AuditLauncherView.prototype.show): + * inspector/front-end/AuditRules.js: Added. + (WebInspector.AuditRules.arrayAsUL): + (WebInspector.AuditRules.getDomainToResourcesMap): + (WebInspector.AuditRules.evaluateInTargetWindow): + (WebInspector.AuditRules.GzipRule): + (WebInspector.AuditRules.GzipRule.prototype.doRun): + (WebInspector.AuditRules.GzipRule.prototype._isCompressed): + (WebInspector.AuditRules.GzipRule.prototype._shouldCompress): + (WebInspector.AuditRules.CombineExternalResourcesRule): + (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun): + (WebInspector.AuditRules.CombineJsResourcesRule): + (WebInspector.AuditRules.CombineCssResourcesRule): + (WebInspector.AuditRules.MinimizeDnsLookupsRule): + (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun): + (WebInspector.AuditRules.ParallelizeDownloadRule): + (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun): + (WebInspector.AuditRules.UnusedCssRule): + (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedStylesheetRatioMessage): + (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedTotalRatioMessage): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): + (WebInspector.AuditRules.CacheControlRule): + (WebInspector.AuditRules.CacheControlRule.prototype.InfoCheck.1.FailCheck.0.WarningCheck.1.SevereCheck.2.doRun): + (WebInspector.AuditRules.CacheControlRule.prototype.handleNonCacheableResources): + (WebInspector.AuditRules.CacheControlRule.prototype._cacheableAndNonCacheableResources): + (WebInspector.AuditRules.CacheControlRule.prototype.execCheck): + (WebInspector.AuditRules.CacheControlRule.prototype.freshnessLifetimeGreaterThan): + (WebInspector.AuditRules.CacheControlRule.prototype.responseHeader): + (WebInspector.AuditRules.CacheControlRule.prototype.hasResponseHeader): + (WebInspector.AuditRules.CacheControlRule.prototype.isCompressible): + (WebInspector.AuditRules.CacheControlRule.prototype.isPubliclyCacheable): + (WebInspector.AuditRules.CacheControlRule.prototype.responseHeaderMatch): + (WebInspector.AuditRules.CacheControlRule.prototype.hasExplicitExpiration): + (WebInspector.AuditRules.CacheControlRule.prototype._isExplicitlyNonCacheable): + (WebInspector.AuditRules.CacheControlRule.prototype.isCacheableResource): + (WebInspector.AuditRules.BrowserCacheControlRule): + (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources): + (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks): + (WebInspector.AuditRules.BrowserCacheControlRule.prototype._missingExpirationCheck): + (WebInspector.AuditRules.BrowserCacheControlRule.prototype._varyCheck): + (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneMonthExpirationCheck): + (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneYearExpirationCheck): + (WebInspector.AuditRules.ProxyCacheControlRule): + (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks): + (WebInspector.AuditRules.ProxyCacheControlRule.prototype._questionMarkCheck): + (WebInspector.AuditRules.ProxyCacheControlRule.prototype._publicCachingCheck): + (WebInspector.AuditRules.ProxyCacheControlRule.prototype._setCookieCacheableCheck): + (WebInspector.AuditRules.ImageDimensionsRule): + (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): + (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasDimension): + (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasWidth): + (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasHeight): + (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine): + (WebInspector.AuditRules.CssInHeadRule): + (WebInspector.AuditRules.CssInHeadRule.prototype.doRun): + (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine.allViews): + (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine): + (WebInspector.AuditRules.StylesScriptsOrderRule): + (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun): + (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.routine): + (WebInspector.AuditRules.CookieRuleBase): + (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback): + (WebInspector.AuditRules.CookieRuleBase.prototype.doRun): + (WebInspector.AuditRules.CookieRuleBase.prototype.mapResourceCookies): + (WebInspector.AuditRules.CookieRuleBase.prototype._callbackForResourceCookiePairs): + (WebInspector.AuditRules.CookieSizeRule): + (WebInspector.AuditRules.CookieSizeRule.prototype._average): + (WebInspector.AuditRules.CookieSizeRule.prototype._max): + (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies): + (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies.avgSizeSorter): + (WebInspector.AuditRules.StaticCookielessRule): + (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies): + (WebInspector.AuditRules.StaticCookielessRule.prototype._collectorCallback): + * inspector/front-end/AuditsPanel.js: + (WebInspector.AuditsPanel.prototype._constructCategories): + (WebInspector.AuditsPanel.prototype._reloadResources): + (WebInspector.AuditsPanel.prototype.show): + (WebInspector.AuditsPanel.prototype._updateLauncherViewControls): + (WebInspector.AuditCategory): + (WebInspector.AuditCategory.prototype.get id): + (WebInspector.AuditCategory.prototype.get ruleCount): + (WebInspector.AuditCategory.prototype.runRules): + (WebInspector.AuditCategory.prototype._ensureInitialized): + (WebInspector.AuditCategoryResult): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/audits.css: + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + (WebInspector.loaded): + (WebInspector.addPanelToolbarIcon): + (WebInspector.documentKeyDown): + +2010-02-10 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Freeze sandbox attributes on creation + https://bugs.webkit.org/show_bug.cgi?id=34184 + + This is how the spec works now. + + Test: fast/frames/sandboxed-iframe-forms-dynamic.html + + * bindings/ScriptControllerBase.cpp: + (WebCore::ScriptController::canExecuteScripts): + * bindings/generic/BindingDOMWindow.h: + (WebCore::::createWindow): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::createWindow): + * dom/Document.cpp: + * dom/Document.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::submitForm): + (WebCore::FrameLoader::requestObject): + (WebCore::FrameLoader::shouldAllowNavigation): + (WebCore::FrameLoader::updateSandboxFlags): + * page/SecurityOrigin.cpp: + * page/SecurityOrigin.h: + +2010-02-09 Ariya Hidayat <ariya.hidayat@gmail.com> + + Rubber-stamped by Kenneth Rohde Christiansen. + + [Qt] Remove old, outdated unused code block. + + * platform/graphics/qt/GraphicsContextQt.cpp: + +2010-02-09 Chris Guillory <ctguil@google.com> + + Reviewed by Darin Fisher. + + [Chromium] Notify ChromeClientChromium of state change notifications. + + https://bugs.webkit.org/show_bug.cgi?id=34464 + + * accessibility/chromium/AXObjectCacheChromium.cpp: + (WebCore::toChromeClientChromium): + (WebCore::AXObjectCache::postPlatformNotification): + * page/chromium/ChromeClientChromium.h: + +2010-02-09 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Adam Barth. + + [BREWMP] Port PlatformMouseEvent + https://bugs.webkit.org/show_bug.cgi?id=34600 + + Retrieve the event type, position, key modifiers, time stamp + and click count from AEEEvent. + + * platform/PlatformMouseEvent.h: + * platform/brew/PlatformMouseEventBrew.cpp: Added. + (WebCore::PlatformMouseEvent::PlatformMouseEvent): + +2010-02-09 Avi Drissman <avi@chromium.org> + + Reviewed by Timothy Hatcher. + + [Chromium] RenderTheme does not draw focus rings on SL for checkboxes, radio buttons + https://bugs.webkit.org/show_bug.cgi?id=34544 + + Covered by layout tests when run on SL. + + * platform/chromium/ThemeChromiumMac.mm: + (-[TCMVisibleView _focusRingVisibleRect]): + (-[TCMVisibleView _focusRingClipAncestor]): + (FocusIndicationFix::currentOSHasSetFocusRingStyleInBitmapBug): + (FocusIndicationFix::swizzleFocusView): + (FocusIndicationFix::ScopedFixer::ScopedFixer): + (FocusIndicationFix::ScopedFixer::~ScopedFixer): + (+[NSView TCMInterposing_focusView]): + (WebCore::paintCheckbox): + (WebCore::paintRadio): + (WebCore::paintButton): + +2010-02-09 Anton Muhin <antonm@chromium.org> + + Reviewed by Nate Chapin. + + [v8] Check if returned wrapper is empty before operating on it. + https://bugs.webkit.org/show_bug.cgi?id=34746 + + * bindings/v8/custom/V8DocumentCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8HTMLDocumentCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8SVGDocumentCustom.cpp: + (WebCore::toV8): + +2010-02-09 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Continuing debugger and profiler unforking: narrow scope of JSC-specific ifdefs. + Also, enable JAVASCRIPT_DEBUGGER explicitly in features, it appears to be required + for really enabling it in V8 bindings generation. + + https://bugs.webkit.org/show_bug.cgi?id=34706 + + * inspector/InjectedScriptHost.idl: + * inspector/InspectorBackend.cpp: + (WebCore::InspectorBackend::currentCallFrame): + (WebCore::InspectorBackend::getProfile): + * inspector/InspectorBackend.h: + * inspector/InspectorBackend.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::addProfile): + (WebCore::InspectorController::getProfile): + (WebCore::InspectorController::startUserInitiatedProfiling): + (WebCore::InspectorController::stopUserInitiatedProfiling): + (WebCore::InspectorController::enableProfiler): + (WebCore::InspectorController::disableProfiler): + * inspector/InspectorController.h: + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::pausedScript): + (WebCore::InspectorFrontend::resumedScript): + (WebCore::InspectorFrontend::profilerWasEnabled): + (WebCore::InspectorFrontend::profilerWasDisabled): + (WebCore::InspectorFrontend::didGetProfile): + * inspector/InspectorFrontend.h: + * page/Console.idl: + +2010-02-09 Gavin Barraclough <barraclough@apple.com> + + Rubber Stamped by Geoff Garen. + + Rename StringBuilder::release && JSStringBuilder::releaseJSString + to 'build()'. + + * bindings/js/ScriptString.h: + (WebCore::ScriptString::operator+=): + +2010-02-09 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/7400160> Netscape plug-ins are not instantiated on property access if there are pending stylesheets + https://bugs.webkit.org/show_bug.cgi?id=34776 + + Tests: plugins/instance-available-before-stylesheets-loaded-object.html + plugins/instance-available-before-stylesheets-loaded.html + + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Call + updateLayoutIgnorePendingStylesheets() before checking for a renderer. + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::renderWidgetForJSBindings): Ditto. + +2010-02-09 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Darin Adler. + + Problems navigating by caret in links whose text wraps onto + subsequent lines. + https://bugs.webkit.org/show_bug.cgi?id=25676 + + We should not search ahead if we are not in the last element. + + * dom/Position.cpp: + +2010-02-09 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + More optimization for AffineTransform with SVG + https://bugs.webkit.org/show_bug.cgi?id=34774 + + Some optimizations to safe unnecessary summations and multiplications. + Optimize AffineTransform to handle an identity or translation matrix + more efficient. + Added translationRight to avoid multiplications of matrices as much as + possible. + + No tests added, no change of functionality. + + * platform/graphics/transforms/AffineTransform.cpp: + (WebCore::AffineTransform::inverse): + (WebCore::AffineTransform::translate): + (WebCore::AffineTransform::translateRight): + * platform/graphics/transforms/AffineTransform.h: + * rendering/RenderForeignObject.cpp: + (WebCore::RenderForeignObject::translationForAttributes): + (WebCore::RenderForeignObject::localToParentTransform): + * rendering/RenderForeignObject.h: + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::localToBorderBoxTransform): + (WebCore::RenderSVGRoot::localToRepaintContainerTransform): + (WebCore::RenderSVGRoot::localToParentTransform): + * rendering/RenderSVGViewportContainer.cpp: + (WebCore::RenderSVGViewportContainer::localToParentTransform): + * rendering/SVGRootInlineBox.cpp: + (WebCore::applyTextLengthCorrectionToTextChunk): + +2010-02-09 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + SVG patterns with some scale patternTransform are not displayed correctly for small elements + https://bugs.webkit.org/show_bug.cgi?id=25484 + + SVG Pattern size was clipped to the size of the target, if the pattern is bigger than the target. This + causes problems, if the patternTransform scales the pattern. This patch deletes the clipping. + + Tests: svg/custom/pattern-excessive-malloc.svg + svg/custom/pattern-size-bigger-than-target-size.svg + svg/custom/pattern-skew-transformed.svg + + * svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::buildPattern): + +2010-02-09 Darin Adler <darin@apple.com> + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::styleDidChange): Fixed typo in comment. + +2010-02-09 MORITA Hajime <morrita@gmail.com> + + Reviewed by Nikolas Zimmermann. + + SVG selection text foreground colour does not respect user settings + https://bugs.webkit.org/show_bug.cgi?id=15997 + + Add two subphases SVGTextPaintSubphaseGlyphFillSelection and + SVGTextPaintSubphaseGlyphStrokeSelection for painting selected + text on SVG. Selected texts are painted with style from + getCachedPseudoStyle() instead of style(). + + Tests: svg/text/selection-styles.xhtml + + * rendering/SVGCharacterLayoutInfo.h: + (WebCore::SVGTextChunkWalker::SVGTextChunkWalker): + (WebCore::SVGTextChunkWalker::setupFillSelection): + (WebCore::SVGTextChunkWalker::setupStrokeSelection): + * rendering/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBoxPaintWalker::mayHaveSelection): + (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillSelectionCallback): + (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeSelectionCallback): + (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer): + (WebCore::SVGRootInlineBox::paint): + (WebCore::SVGRootInlineBox::walkTextChunks): + * rendering/SVGInlineTextBox.h: + (WebCore::): + Add callback hooks and its implementation for handle new + subphases. + + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::chunkSelectionStartEnd): + (WebCore::SVGInlineTextBox::paintCharacters): + Split box text into selected part and non-selected part, and use + separate subphases to paint them. + + * svg/SVGFont.cpp: + (WebCore::SVGTextRunWalker::walk): + Relax ASSERT() condition to accept a part of text. + + * svg/graphics/SVGPaintServer.cpp: + (WebCore::applyStrokeStyleToContext): + (WebCore::SVGPaintServer::setup): + * svg/graphics/SVGPaintServer.h: + * svg/graphics/SVGPaintServerGradient.cpp: + (WebCore::SVGPaintServerGradient::setup): + * svg/graphics/SVGPaintServerGradient.h: + * svg/graphics/SVGPaintServerPattern.cpp: + (WebCore::SVGPaintServerPattern::setup): + * svg/graphics/SVGPaintServerPattern.h: + * svg/graphics/SVGPaintServerSolid.cpp: + (WebCore::SVGPaintServerSolid::setup): + * svg/graphics/SVGPaintServerSolid.h: + Change setup() signature to accept RenderStyle instead of always + using RenderObject::style(). + +2010-02-09 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + No scroll bars are displayed for standalone SVG image + https://bugs.webkit.org/show_bug.cgi?id=11225 + + Height and width defined for svg element are not honored + https://bugs.webkit.org/show_bug.cgi?id=24033 + + SVG file does not pan and has no scroll bars + https://bugs.webkit.org/show_bug.cgi?id=24448 + + Adapt to SVG 1.1 errata to change the overflow handling: + Replace "svg { overflow: hidden }" by "svg:not(:root) { overflow: hidden }" to allow standalone SVG documents to contain scrolllbars. + Agreed by SVG WG to make this the default behaviour, already implemented by Opera & FireFox (partial support). + + Add new tests in svg/overflow covering all special SVG css overflow handling rules on inner/outer svg elements. + + Tests: svg/overflow/overflow-on-inner-svg-element-defaults.svg + svg/overflow/overflow-on-inner-svg-element.svg + svg/overflow/overflow-on-outermost-svg-element-defaults.svg + svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1.svg + svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2.svg + svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3.svg + svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto.xhtml + svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults.xhtml + svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden.xhtml + svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll.xhtml + svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml + + * css/svg.css: Change default <svg> overflow rule to only apply to inner <svg> elements. + * page/FrameView.cpp: + (WebCore::FrameView::layout): Only apply overflow rules for non-standalone SVG documents. + * rendering/RenderSVGRoot.cpp: Remove all calls to isOverflowHidden - it's always the case for the outermost SVG element, see spec + errata. + (WebCore::RenderSVGRoot::paint): Always clip to initial viewport size. + (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto. + (WebCore::RenderSVGRoot::nodeAtPoint): Simplify. + * rendering/RenderSVGViewportContainer.cpp: + (WebCore::RenderSVGViewportContainer::applyViewportClip): Use isOverflowHidden() instead of a manual oveflow query and clip in float precision. + * rendering/SVGRenderSupport.cpp: + (WebCore::SVGRenderBase::isOverflowHidden): Simplify implementation, assure the function is not called anymore for RenderSVGRoot objects. + +2010-02-09 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Eric Seidel. + + [BREWMP] Port KURL::fileSystemPath + https://bugs.webkit.org/show_bug.cgi?id=34516 + + Convert a file URL to a file path by prefixing + AEEFS_HOME_DIR to access files relative to the current + module directory in a case-sensitive manner. + + As IWeb "file:" engine opens files in BREW's application-relative + file namespace, we follow the same policy here. + + * platform/brew/KURLBrew.cpp: Added. + (WebCore::KURL::fileSystemPath): + +2010-02-09 Noam Rosenthal <noam.rosenthal@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] the above website does not render properly when in compositing mode + https://bugs.webkit.org/show_bug.cgi?id=34681 + + http://media.24ways.org/2009/15/spinner-alt.html now renders correctly + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::MaskEffectQt::MaskEffectQt): implement mask as + QGraphicsEffect + (WebCore::MaskEffectQt::draw): reimp + (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): init the effect + (WebCore::GraphicsLayerQtImpl::paint): no need for drawContents + (WebCore::GraphicsLayerQtImpl::flushChanges): make sure to update the + mask layer, not just the actual children + +2010-02-09 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Laszlo Gombos. + + [BREWMP] Fix macro redefinition error in BREWMP simulator build. + https://bugs.webkit.org/show_bug.cgi?id=34738 + + Remove warning: 'FAR' macro redefinition. + + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: + +2010-02-07 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Dan Bernstein. + + Fix the following bugs: + https://bugs.webkit.org/show_bug.cgi?id=18926 - dt:after generate a line break. Boost documentation page renders poorly + https://bugs.webkit.org/show_bug.cgi?id=7276 - Most W3C padding related tests fail + + Tests: fast/css/inline-element-line-break.html + fast/css/pseudo-element-line-break.html + + findNextLineBreak() unconditionally allowed lines to break between elements when no other line breaking opportunity had been found, + but that was unnecessary and led to incorrect layout. Disallow that kind of line breaks. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::findNextLineBreak): + +2010-02-09 Shinichiro Hamaji <hamaji@chromium.org> + + Reviewed by Darin Adler. + + Provide a way to get total number of pages to be printed + https://bugs.webkit.org/show_bug.cgi?id=34699 + + Test: printing/numberOfPages.html + + * WebCore.base.exp: + * page/PrintContext.cpp: + (WebCore::PrintContext::pageNumberForElement): + (WebCore::PrintContext::numberOfPages): + * page/PrintContext.h: + (WebCore::PrintContext::pageRects): + +2010-02-08 Dominic Cooney <dominicc@google.com> + + Reviewed by Adam Barth. + + [V8] Move Element custom methods into generic bindings + + This patch moves the security checks in setAttribute, + setAttributeNode, setAttributeNS and setAttributeNodeNS from + V8ElementCustom into the generic bindings so that they can be + reused in other bindings. This is in a similar vein to + <https://bugs.webkit.org/attachment.cgi?id=45872>. + + https://bugs.webkit.org/show_bug.cgi?id=34554 + + LayoutTests: None + + * WebCore.gypi: + * bindings/generic/BindingElement.h: Added. + (WebCore::::setAttribute): + (WebCore::::setAttributeNode): + (WebCore::::setAttributeNS): + (WebCore::::setAttributeNodeNS): + * bindings/v8/V8Binding.h: + * bindings/v8/custom/V8ElementCustom.cpp: + (WebCore::V8Element::setAttributeCallback): + (WebCore::V8Element::setAttributeNodeCallback): + (WebCore::V8Element::setAttributeNSCallback): + (WebCore::V8Element::setAttributeNodeNSCallback): + +2010-02-08 Hayato Ito <hayato@chromium.org> + + Reviewed by Darin Adler. + + Schedule a loading request when there are many in-flight requests beyond + the limit to avoid forever page loading. + + https://bugs.webkit.org/show_bug.cgi?id=31227 + + Test: http/tests/loading/load-javascript-after-many-xhrs.html + + * loader/loader.cpp: + (WebCore::Loader::Host::servePendingRequests): + +2010-02-08 David Levin <levin@chromium.org> + + Reviewed by Gavin Barraclough. + + REGRESSION (before r54472): Various tests in fast/workers are crashing on the buildbot. + https://bugs.webkit.org/show_bug.cgi?id=34728 + + The core part of the fix is to change WebCoreJSClientData::m_normalWorld + from DOMWrapperWorld to RefPtr<DOMWrapperWorld> so that the DOMWrapperWorld + is really ref counted. + + No new tests because current tests sufficiently cover this as evidenced as + the buildbot crashes. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Made this robust to m_globalData + being 0. + * bindings/js/JSDOMBinding.h: + (WebCore::DOMWrapperWorld::create): Made this class follow the standard + create pattern for RefCounted classes. + (WebCore::DOMWrapperWorld::detachFromGlobalData): Since this class can + now outlive JSGlobalData, this method tells it to stop using its JSGlobalData. + (WebCore::WebCoreJSClientData::WebCoreJSClientData): Adjusted due to + m_normalWorld being a RefPtr. + (WebCore::WebCoreJSClientData::~WebCoreJSClientData): Ditto (and added + asserts for the FIXME). + (WebCore::WebCoreJSClientData::normalWorld): Ditto. + * bindings/js/ScriptController.cpp: + (WebCore::IsolatedWorld::create): Made the constructor protected. + (WebCore::IsolatedWorld::IsolatedWorld): Made the constructor protected, so + that code would have to use the create method. + +2010-02-08 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by David Levin. + + Remove special utf-8 tag from Chromium cilpboard code because + we now have the corresponding code in generic clipboard framework + code in chromium (since it's needed by other places than in Web + page rendering) and no longer need the separate workaround code in + WebKit. + https://bugs.webkit.org/show_bug.cgi?id=34567 + + Test: (for regression) editing/pasteboard + + * platform/chromium/ClipboardChromium.cpp: + (WebCore::ClipboardChromium::writeRange): + * platform/chromium/PasteboardChromium.cpp: + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::documentFragment): + +2010-02-08 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + Crash due to layout not done in case involving removal of absolute positioning + https://bugs.webkit.org/show_bug.cgi?id=34734 + rdar://problem/7588280 + + Test: fast/dynamic/position-change-layout.html + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::styleDidChange): Call markContainingBlocksForLayout in + a case where the object already needs layout, but might have a new containing + block and so needs to mark the new containing block. + +2010-02-08 Charlie Reis <creis@chromium.org> + + Reviewed by Darin Adler. + + onbeforeunload not called at window close + frame or iframe focused + https://bugs.webkit.org/show_bug.cgi?id=27481 + + Chromium and WebKit on Windows will now fire beforeunload handlers + even if an inner frame is focused. + + Layout tests aren't able to test this bug, since it requires closing + the actual browser window, not calling window.close(). Instead, + test with WebCore/manual-tests/onbeforeunload-focused-iframe.html. + + * manual-tests/onbeforeunload-focused-iframe.html: Added. + * manual-tests/resources/focused-iframe.html: Added. + +2010-02-08 Alexey Proskuryakov <ap@apple.com> + + Addressing review feedback. + + * bridge/c/c_instance.h: Removed argument name. + +2010-02-08 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=34727 + Assertion crashes and freezes when plug-in property access results in an exception + + Test: plugins/netscape-plugin-property-access-exception.html + + * bridge/c/c_instance.h: Made moveGlobalExceptionToExecState public, since it also need to + be called from CField. + + * bridge/c/c_runtime.cpp: + (JSC::Bindings::CField::valueFromInstance): Call moveGlobalExceptionToExecState(). Without + this, not only didn't we get exceptions, but we also got an assertion failure because of + dangling global exception on next call into plug-in. + (JSC::Bindings::CField::setValueToInstance): Ditto. + +2010-02-08 Dirk Schulze <krit@webkit.org> + + Unreviewed build fix of ChromiumWin. + + * platform/graphics/chromium/TransparencyWin.cpp: + (WebCore::): + (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer): + (WebCore::TransparencyWin::setupTransformForKeepTransform): + * platform/graphics/chromium/TransparencyWin.h: + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::): + +2010-02-05 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Jeremy Orlow. + + Adding a way to get the set of all open database handles pointing + to a given database. + https://bugs.webkit.org/show_bug.cgi?id=34619 + + Sometimes we need to be able to close all handles to a database as + soon as possible (to delete the DB file, for example). + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::getOpenDatabases): + * storage/DatabaseTracker.h: + * storage/chromium/DatabaseTrackerChromium.cpp: + (WebCore::DatabaseTracker::addOpenDatabase): + (WebCore::DatabaseTracker::removeOpenDatabase): + (WebCore::DatabaseTracker::getOpenDatabases): + +2010-02-08 Dirk Schulze <krit@webkit.org> + + Unreviewed windows build-fix. + + * page/win/FrameCGWin.cpp: + (WebCore::drawRectIntoContext): + +2010-02-08 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + Add back an AffineTransform class for use by SVG + https://bugs.webkit.org/show_bug.cgi?id=33750 + + This adds back AffineTransform. This saves additional 4% memory consumption + on the 50k rects stress test: https://bugs.webkit.org/attachment.cgi?id=46721 + It also makes it possible to optimize the calculations internally of + AffineTransform to the needs of 2D transformations (the second benefit for SVG, + which uses transformations relative often at the moment. + Everything that is 2D related (like images, patterns, gradients, fonts), uses + AffineTransform now. + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSSVGMatrixCustom.cpp: + (WebCore::JSSVGMatrix::multiply): + (WebCore::JSSVGMatrix::inverse): + (WebCore::JSSVGMatrix::rotateFromVector): + * bindings/js/JSSVGPODTypeWrapper.h: + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorObjC.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8Index.h: + * bindings/v8/custom/V8SVGMatrixCustom.cpp: + (WebCore::V8SVGMatrix::multiplyCallback): + (WebCore::V8SVGMatrix::inverseCallback): + (WebCore::V8SVGMatrix::rotateFromVectorCallback): + * html/HTMLCanvasElement.cpp: Changed to AffineTransform now + (WebCore::HTMLCanvasElement::baseTransform): + * html/HTMLCanvasElement.h: + * platform/graphics/FloatPoint.cpp: + (WebCore::FloatPoint::matrixTransform): + * platform/graphics/FloatPoint.h: + * platform/graphics/GeneratedImage.cpp: + (WebCore::GeneratedImage::drawPattern): + * platform/graphics/GeneratedImage.h: + * platform/graphics/Gradient.cpp: + (WebCore::Gradient::setGradientSpaceTransform): + (WebCore::Gradient::setPlatformGradientSpaceTransform): + * platform/graphics/Gradient.h: + (WebCore::Gradient::gradientSpaceTransform): + * platform/graphics/GraphicsContext.h: + * platform/graphics/Image.cpp: + (WebCore::Image::drawTiled): + * platform/graphics/Image.h: + * platform/graphics/ImageBuffer.h: + (WebCore::ImageBuffer::baseTransform): + * platform/graphics/Path.h: + * platform/graphics/Pattern.cpp: + (WebCore::Pattern::setPatternSpaceTransform): + * platform/graphics/Pattern.h: + (WebCore::Pattern::create): + (WebCore::Pattern::tileImage): + * platform/graphics/cairo/FontCairo.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::setPlatformFill): + (WebCore::setPlatformStroke): + (WebCore::GraphicsContext::getCTM): + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::Image::drawPattern): + * platform/graphics/cairo/PathCairo.cpp: + * platform/graphics/cairo/PatternCairo.cpp: + (WebCore::Pattern::createPlatformPattern): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::getCTM): + * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: + (WebCore::GraphicsContextPlatformPrivate::concatCTM): + * platform/graphics/cg/ImageCG.cpp: + (WebCore::Image::drawPattern): + * platform/graphics/cg/PathCG.cpp: + * platform/graphics/cg/PatternCG.cpp: + (WebCore::Pattern::createPlatformPattern): + * platform/graphics/haiku/GraphicsContextHaiku.cpp: + (WebCore::GraphicsContext::getCTM): + * platform/graphics/haiku/ImageHaiku.cpp: + (WebCore::Image::drawPattern): + * platform/graphics/haiku/PathHaiku.cpp: + * platform/graphics/qt/FontQt.cpp: + (WebCore::Font::drawComplexText): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::getCTM): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + * platform/graphics/qt/ImageQt.cpp: + (WebCore::Image::drawPattern): + * platform/graphics/qt/PathQt.cpp: + * platform/graphics/qt/PatternQt.cpp: + (WebCore::Pattern::createPlatformPattern): + * platform/graphics/skia/GradientSkia.cpp: + (WebCore::Gradient::setPlatformGradientSpaceTransform): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::getCTM): + * platform/graphics/skia/ImageSkia.cpp: + (WebCore::Image::drawPattern): + * platform/graphics/skia/PathSkia.cpp: + * platform/graphics/skia/PatternSkia.cpp: + (WebCore::Pattern::platformPattern): + * platform/graphics/skia/SkiaFontWin.cpp: + (WebCore::windowsCanHandleTextDrawing): + * platform/graphics/transforms/AffineTransform.cpp: + (WebCore::AffineTransform::makeIdentity): needed by some parts of WebCore + (WebCore::AffineTransform::scale): Didn't scale the complete matrix + (WebCore::AffineTransform::translate): Didn't respect other transformations + (WebCore::AffineTransform::shear): direct calculation, no extra multiply of matrices + (WebCore::AffineTransform::map): + (WebCore::AffineTransform::mapPoint): + (WebCore::AffineTransform::mapRect): + * platform/graphics/transforms/AffineTransform.h: + (WebCore::AffineTransform::isIdentityOrTranslation): + * platform/graphics/transforms/TransformationMatrix.cpp: + (WebCore::TransformationMatrix::toAffineTransform): + * platform/graphics/transforms/TransformationMatrix.h: + * platform/graphics/win/FontCGWin.cpp: + (WebCore::drawGDIGlyphs): + * platform/graphics/win/GraphicsContextCGWin.cpp: + * platform/graphics/win/GraphicsContextCairoWin.cpp: + * platform/graphics/win/GraphicsContextWin.cpp: + (WebCore::GraphicsContextPlatformPrivate::concatCTM): + * platform/graphics/wince/FontWince.cpp: + * platform/graphics/wince/GraphicsContextWince.cpp: + (WebCore::GraphicsContextPlatformPrivate::concatCTM): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::getCTM): + (WebCore::GraphicsContext::drawBitmapPattern): + * platform/graphics/wince/ImageBufferWince.cpp: + (WebCore::): + (WebCore::BufferedImage::drawPattern): + * platform/graphics/wince/PathWince.cpp: + (WebCore::Path::transform): + * platform/graphics/wince/PlatformPathWince.cpp: + (WebCore::drawPolygons): + (WebCore::PathPolygon::transform): + (WebCore::PlatformPathElement::transform): + (WebCore::PlatformPath::strokePath): + (WebCore::PlatformPath::fillPath): + (WebCore::PlatformPath::transform): + * platform/graphics/wince/PlatformPathWince.h: + (WebCore::): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::getCTM): + * platform/graphics/wx/ImageWx.cpp: + (WebCore::BitmapImage::drawPattern): + (WebCore::Image::drawPattern): + * platform/graphics/wx/PathWx.cpp: + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::paintMozillaGtkWidget): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::paintWindowedPluginIntoContext): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::localTransform): + * rendering/RenderBox.h: + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData): + (WebCore::RenderBoxModelScaleData::transform): + (WebCore::RenderBoxModelScaleData::setTransform): + (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality): + (WebCore::RenderBoxModelObject::paintBoxShadow): + * rendering/RenderForeignObject.cpp: + (WebCore::RenderForeignObject::translationForAttributes): + (WebCore::RenderForeignObject::localToParentTransform): + * rendering/RenderForeignObject.h: + (WebCore::RenderForeignObject::localTransform): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintLayer): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::localTransform): + (WebCore::RenderObject::localToParentTransform): + (WebCore::RenderObject::absoluteTransform): + * rendering/RenderObject.h: + * rendering/RenderPath.cpp: + (WebCore::RenderPath::localToParentTransform): + (WebCore::RenderPath::localTransform): + * rendering/RenderPath.h: + * rendering/RenderSVGHiddenContainer.h: + (WebCore::RenderSVGHiddenContainer::absoluteTransform): + * rendering/RenderSVGImage.h: + (WebCore::RenderSVGImage::localToParentTransform): + (WebCore::RenderSVGImage::localTransform): + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::localToBorderBoxTransform): + (WebCore::RenderSVGRoot::localToRepaintContainerTransform): + (WebCore::RenderSVGRoot::localToParentTransform): + (WebCore::RenderSVGRoot::absoluteTransform): + (WebCore::RenderSVGRoot::localTransform): + * rendering/RenderSVGRoot.h: + * rendering/RenderSVGText.h: + (WebCore::RenderSVGText::localToParentTransform): + (WebCore::RenderSVGText::localTransform): + * rendering/RenderSVGTransformableContainer.cpp: + (WebCore::RenderSVGTransformableContainer::localToParentTransform): + (WebCore::RenderSVGTransformableContainer::localTransform): + (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): + * rendering/RenderSVGTransformableContainer.h: + * rendering/RenderSVGViewportContainer.cpp: + (WebCore::RenderSVGViewportContainer::markerBoundaries): + (WebCore::RenderSVGViewportContainer::markerContentTransformation): + (WebCore::RenderSVGViewportContainer::viewportTransform): + (WebCore::RenderSVGViewportContainer::localToParentTransform): + (WebCore::RenderSVGViewportContainer::absoluteTransform): + * rendering/RenderSVGViewportContainer.h: + * rendering/SVGCharacterLayoutInfo.cpp: + (WebCore::SVGChar::characterTransform): + * rendering/SVGCharacterLayoutInfo.h: + (WebCore::SVGTextChunkWalker::operator()): + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): + (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): + (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback): + (WebCore::SVGInlineTextBox::paintCharacters): + (WebCore::SVGInlineTextBox::paintDecoration): + * rendering/SVGMarkerLayoutInfo.h: + (WebCore::MarkerLayout::MarkerLayout): + * rendering/SVGRenderSupport.cpp: + (WebCore::applyTransformToPaintInfo): + * rendering/SVGRenderSupport.h: + * rendering/SVGRenderTreeAsText.cpp: + (WebCore::operator<<): + * rendering/SVGRenderTreeAsText.h: + * rendering/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): + (WebCore::applyTextLengthCorrectionToTextChunk): + (WebCore::SVGRootInlineBox::buildLayoutInformation): + * rendering/TransformState.cpp: + (WebCore::TransformState::applyTransform): + * rendering/TransformState.h: + * svg/GradientAttributes.h: + (WebCore::GradientAttributes::gradientTransform): + (WebCore::GradientAttributes::setGradientTransform): + * svg/PatternAttributes.h: + (WebCore::PatternAttributes::patternTransform): + (WebCore::PatternAttributes::setPatternTransform): + * svg/SVGAnimateMotionElement.cpp: + (WebCore::SVGAnimateMotionElement::resetToBaseValue): + (WebCore::SVGAnimateMotionElement::calculateAnimatedValue): + (WebCore::SVGAnimateMotionElement::applyResultsToTarget): + * svg/SVGAnimateMotionElement.h: + * svg/SVGAnimateTransformElement.cpp: + * svg/SVGAnimateTransformElement.h: + * svg/SVGElement.h: + (WebCore::SVGElement::supplementalTransform): + * svg/SVGFitToViewBox.cpp: + (WebCore::SVGFitToViewBox::viewBoxToViewTransform): + * svg/SVGFitToViewBox.h: + * svg/SVGLocatable.cpp: + (WebCore::SVGLocatable::getCTM): + (WebCore::SVGLocatable::getScreenCTM): + (WebCore::SVGLocatable::getTransformToElement): + * svg/SVGLocatable.h: + * svg/SVGMarkerElement.cpp: + (WebCore::SVGMarkerElement::viewBoxToViewTransform): + * svg/SVGMarkerElement.h: + * svg/SVGMaskElement.cpp: + (WebCore::SVGMaskElement::drawMaskerContent): + * svg/SVGMatrix.idl: + * svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::buildPattern): + * svg/SVGPreserveAspectRatio.cpp: + (WebCore::SVGPreserveAspectRatio::getCTM): + * svg/SVGPreserveAspectRatio.h: + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::viewport): + (WebCore::SVGSVGElement::createSVGMatrix): + (WebCore::SVGSVGElement::createSVGTransformFromMatrix): + (WebCore::SVGSVGElement::getCTM): + (WebCore::SVGSVGElement::getScreenCTM): + (WebCore::SVGSVGElement::viewBoxToViewTransform): + * svg/SVGSVGElement.h: + * svg/SVGStyledLocatableElement.cpp: + (WebCore::SVGStyledLocatableElement::getCTM): + (WebCore::SVGStyledLocatableElement::getScreenCTM): + * svg/SVGStyledLocatableElement.h: + * svg/SVGStyledTransformableElement.cpp: + (WebCore::SVGStyledTransformableElement::getCTM): + (WebCore::SVGStyledTransformableElement::getScreenCTM): + (WebCore::SVGStyledTransformableElement::animatedLocalTransform): + (WebCore::SVGStyledTransformableElement::supplementalTransform): + * svg/SVGStyledTransformableElement.h: + (WebCore::SVGStyledTransformableElement::isStyledTransformable): + (WebCore::SVGStyledTransformableElement::toPathData): + * svg/SVGTextContentElement.cpp: + (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): + * svg/SVGTextElement.cpp: + (WebCore::SVGTextElement::getScreenCTM): + (WebCore::SVGTextElement::getCTM): + (WebCore::SVGTextElement::animatedLocalTransform): + (WebCore::SVGTextElement::supplementalTransform): + * svg/SVGTextElement.h: + * svg/SVGTextPathElement.cpp: + * svg/SVGTransform.cpp: + (SVGTransform::SVGTransform): + (SVGTransform::matrix): + (SVGTransform::setMatrix): + * svg/SVGTransform.h: + * svg/SVGTransformDistance.cpp: + (WebCore::SVGTransformDistance::SVGTransformDistance): + (WebCore::SVGTransformDistance::scaledDistance): + (WebCore::SVGTransformDistance::isZero): + * svg/SVGTransformDistance.h: + * svg/SVGTransformList.cpp: + (SVGTransformList::createSVGTransformFromMatrix): + (SVGTransformList::concatenate): + (SVGTransformList::valueAsString): + * svg/SVGTransformList.h: + * svg/SVGTransformable.cpp: + (WebCore::SVGTransformable::getCTM): + (WebCore::SVGTransformable::getScreenCTM): + (WebCore::SVGTransformable::parseTransformValue): + * svg/SVGTransformable.h: + (WebCore::SVGTransformable::): + * svg/graphics/SVGPaintServerGradient.cpp: + (WebCore::SVGPaintServerGradient::gradientTransform): + (WebCore::SVGPaintServerGradient::setGradientTransform): + (WebCore::clipToTextMask): + (WebCore::SVGPaintServerGradient::setup): + * svg/graphics/SVGPaintServerGradient.h: + * svg/graphics/SVGPaintServerPattern.cpp: + (WebCore::SVGPaintServerPattern::patternTransform): + (WebCore::SVGPaintServerPattern::setPatternTransform): + (WebCore::SVGPaintServerPattern::setup): + * svg/graphics/SVGPaintServerPattern.h: + * svg/graphics/SVGResourceClipper.cpp: + (WebCore::SVGResourceClipper::applyClip): + * svg/graphics/SVGResourceMarker.cpp: + (WebCore::SVGResourceMarker::markerTransformation): + (WebCore::SVGResourceMarker::draw): + * svg/graphics/SVGResourceMarker.h: + * svg/graphics/filters/SVGFEImage.cpp: + * svg/graphics/filters/SVGFETile.cpp: + (WebCore::FETile::apply): + +2010-02-08 Stephen White <senorblanco@chromium.org> + + Reviewed by Dimitri Glazkov. + + Make an inline function containing a static var out-of-line. This is + a workaround for Xcode 3.1 bug radar 7070016. We tripped on this in + deviceRGBColorSpaceRef on the Chromium canaries. This is a proactive + fix for the same problem in sRGBColorSpaceRef(). + + https://bugs.webkit.org/show_bug.cgi?id=34663 + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::sRGBColorSpaceRef): + * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: + +2010-02-08 Nate Chapin <japhet@chromium.org> + + Reviewed by Dimitri Glazkov. + + [V8] Unify the WorkerContext V8 object wrapping code with + the standard V8 object wrapping code. + + https://bugs.webkit.org/show_bug.cgi?id=34658 + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::instantiateV8Object): + (WebCore::V8DOMWrapper::convertEventTargetToV8Object): + * bindings/v8/V8WorkerContextEventListener.cpp: + (WebCore::V8WorkerContextEventListener::handleEvent): + (WebCore::V8WorkerContextEventListener::getReceiverObject): + * bindings/v8/WorkerContextExecutionProxy.cpp: + * bindings/v8/WorkerContextExecutionProxy.h: + * bindings/v8/custom/V8NotificationCenterCustom.cpp: + (WebCore::V8NotificationCenter::createHTMLNotificationCallback): + (WebCore::V8NotificationCenter::createNotificationCallback): + * bindings/v8/custom/V8WorkerContextCustom.cpp: + (WebCore::toV8): + +2010-02-08 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Darin Adler. + + Use fastStrDup instead of strdup + https://bugs.webkit.org/show_bug.cgi?id=33943 + + Replace strdup/free with fastStrDup/fastFree. + + * bridge/IdentifierRep.h: + (WebCore::IdentifierRep::IdentifierRep): + * bridge/jni/JNIBridge.cpp: + (JavaMethod::~JavaMethod): + (appendClassName): + (JavaMethod::signature): + * bridge/jni/jsc/JavaClassJSC.cpp: + (JavaClass::JavaClass): + (JavaClass::~JavaClass): + * platform/network/curl/ResourceHandleCurl.cpp: + (WebCore::ResourceHandleInternal::~ResourceHandleInternal): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::~ResourceHandleManager): + (WebCore::ResourceHandleManager::setCookieJarFileName): + (WebCore::ResourceHandleManager::initializeHandle): + * plugins/PluginStream.cpp: + (WebCore::PluginStream::~PluginStream): + (WebCore::PluginStream::startStream): + * xml/XSLTProcessorLibxslt.cpp: + (WebCore::xsltParamArrayFromParameterMap): + (WebCore::freeXsltParamArray): + +2010-02-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Simon Hausmann. + + Fix Qt build on Windows. + + nmake fails to pick the right cpp file, so we have to + rename the file to to a unique name. + + * WebCore.pro: + * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Renamed from WebCore/platform/graphics/qt/FontCustomPlatformData.cpp. + +2010-02-08 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + All SVG *-expected.txt files contain wrong results + https://bugs.webkit.org/show_bug.cgi?id=34703 + + Finally dump meaningful information for SVG layout tests. + Use 'absoluteClippedOverflowRect' which goes through the same code paths used + to actually calculate repaint rects etc - instead of the legacy CSS-unaware + code path that mapped 'repaintRectInLocalCoordinates' through 'absoluteTransform'. + Remove absoluteTransform() - a long standing TODO, finally not needed anymore. + + Despite SVGRenderTreeAsText, SVGPaintServerGradient was also using absoluteTransform(). + Rewrite the code in question, fixing svg/W3C-SVG-1.1/pserver-grad-08-b.svg alignment issues + when scaling/panning text using gradient on stroke/fill. Affects some other gradient tests as well. + + As we're now dumping clipped overflow rects any problems with repaint rects will become + immediate visible - it turns out we're not supporting the overflow rules on the outermost <svg> + element properly (repaint rects and bounding boxes need to take special SVG overflow rules into account). + Fixing that magically gives pixel-perfect clipped overflow rects for all types of shapes/text/containers. + + Note: This will break any overriden platform-specific SVG results, need to wait for build bots in order to update them. + + * rendering/RenderObject.cpp: Remove absoluteTransform() method, centralize overflow query code in SVGRenderSupport::isOverflowHidden(). + * rendering/RenderObject.h: Remove absoluteTransform() method. + * rendering/RenderSVGHiddenContainer.h: Ditto. + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::paint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode. + (WebCore::RenderSVGRoot::computeRectForRepaint): Respect SVG overflow rules here: clip repaintRect against overflow rect _before_ passing + along to RenderBox. This is the key issue behind wrong absoluteClippedOverflowRect() values. + (WebCore::RenderSVGRoot::nodeAtPoint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode. + * rendering/RenderSVGRoot.h: Remove absoluteTransform(). Don't expose viewportSize() anymore. + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::strokeBoundingBox): Fix default stroke width to 1. This was the only wrong place -> fixes repaint rects for stroked text. + * rendering/RenderSVGViewportContainer.cpp: Remove absoluteTransform() method. + (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode. + * rendering/RenderSVGViewportContainer.h: Remove absoluteTransform() method. + * rendering/SVGRenderSupport.cpp: Refactored overflow queries in one place, centralizing SVG specific assumptions about overflowX/Y. + (WebCore::SVGRenderBase::isOverflowHidden): + * rendering/SVGRenderSupport.h: + * rendering/SVGRenderTreeAsText.cpp: Dump absoluteClippedOverflowRect() instead of absoluteTransform().mapRect(repaintRectInLocalCoordinates()). + (WebCore::writePositionAndStyle): Affects all layout tests dumping render trees. + * svg/graphics/SVGPaintServerGradient.cpp: Rewrite Gradient on text fill/stroke support on Cg, to avoid using absoluteTransform(). + (WebCore::absoluteTransformForRenderer): + (WebCore::createMaskAndSwapContextForTextGradient): + (WebCore::clipToTextMask): + (WebCore::SVGPaintServerGradient::setup): + +2010-02-07 Daniel Bates <dbates@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=34402 + + Implements all of the numeric CSS3 list-style-types as per + section 4.3 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#numeric>. + + Test: fast/lists/w3-css3-list-styles-numeric.html + + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + * css/CSSValueKeywords.in: + * inspector/front-end/SourceCSSTokenizer.re2js: + * platform/text/CharacterNames.h: Added constant hyphenMinus. + * rendering/RenderListMarker.cpp: + (WebCore::): Defined enum SequenceType. + (WebCore::toAlphabeticOrNumeric): Added. + (WebCore::toAlphabetic): Modified to call WebCore::toAlphabeticOrNumeric. + (WebCore::toNumeric): Added. + (WebCore::listMarkerSuffix): + (WebCore::listMarkerText): + (WebCore::RenderListMarker::paint): + (WebCore::RenderListMarker::calcPrefWidths): + (WebCore::RenderListMarker::getRelativeMarkerRect): + * rendering/style/RenderStyle.h: + (WebCore::): + * rendering/style/RenderStyleConstants.h: Added numeric list style types + and fixed indent level for the enum values. + (WebCore::): + +2010-02-07 Ismail Donmez <ismail@namtrac.org> + + Reviewed by Darin Adler. + + Include wtf/StringExtras.h for strdup definition, which + is needed for WinCE. + + * bridge/IdentifierRep.h: + +2010-02-07 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Fragment-held Elements Not Shown in Inspector. + + https://bugs.webkit.org/show_bug.cgi?id=34680 + + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): + (WebCore::InspectorDOMAgent::buildObjectForNode): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): + +2010-02-07 Jian Li <jianli@chromium.org> + + Reviewed by Darin Fisher. + + [chromium] Change chromium interface to handle DownloadURL format. + https://bugs.webkit.org/show_bug.cgi?id=34655 + + * platform/chromium/ChromiumDataObject.cpp: + (WebCore::ChromiumDataObject::clear): + (WebCore::ChromiumDataObject::hasData): + (WebCore::ChromiumDataObject::ChromiumDataObject): + * platform/chromium/ChromiumDataObject.h: + * platform/chromium/ClipboardChromium.cpp: + (WebCore::ClipboardChromium::setData): + +2010-02-06 Dimitri Glazkov <dglazkov@chromium.org> + + No review, rolling out r54364. + http://trac.webkit.org/changeset/54364 + https://bugs.webkit.org/show_bug.cgi?id=34464 + + Introduced asserts in layout tests, needs more testing + locally. + + * accessibility/chromium/AXObjectCacheChromium.cpp: + (WebCore::AXObjectCache::postPlatformNotification): + * page/chromium/ChromeClientChromium.h: + +2010-02-06 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Adam Barth. + + Using inlines and function-level statics don't mix, according to gcc. + https://bugs.webkit.org/show_bug.cgi?id=34663 + + De-inline deviceRGBColorSpaceRef to avoid gcc-bug landmines. + + It appears that the initialization check, generated by gcc doesn't account + for a possibility that the function may be inlined, resulting in lazy + initialization failure for more than one inlined instance of the function. + + No behavior change, so no new tests. + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::deviceRGBColorSpaceRef): + * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: + +2010-02-05 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Dan Bernstein. + + Added an ASSERT to catch an implausible but theoretically possible leak. + + In theory, if malloc allocated a UChar buffer directly after a StringImpl, + the StringImpl might incorrecly assume that the UChar buffer was inline, + and fail to delete it. + + This ASSERT is somewhat academic, since we don't use the same allocator + in debug builds, but oh well. + + * platform/text/StringImpl.cpp: + (WebCore::StringImpl::StringImpl): + (WebCore::StringImpl::createUninitialized): + * platform/text/StringImpl.h: Separated the inline buffer StringImpl + constructor from the out-of-line buffer StringImpl constructor. Made + the former ASSERT that its buffer was indeed inline, and the latter ASSERT + that its buffer was indeed not inline. + +2010-02-05 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Fixed changed virtual function in GraphicsLayerCACF and call order issues + https://bugs.webkit.org/show_bug.cgi?id=34348 + + The correct virtual function in GraphicsLayerCACF is now being + called. We also fixed an issue in QTMovieWin where the size + of the movie was not being set correctly because the call order + was changed. + + I also changed the order of a couple of calls in QTMovieWin to account + for changed calling order from the logic above. + + * platform/graphics/win/GraphicsLayerCACF.cpp:Update to new virtual function API + (WebCore::GraphicsLayerCACF::setContentsToMedia): + (WebCore::GraphicsLayerCACF::updateContentsMedia): + * platform/graphics/win/GraphicsLayerCACF.h:Update to new virtual function API + (WebCore::GraphicsLayerCACF::): + * platform/graphics/win/QTMovieWin.cpp: + (QTMovieWinPrivate::cacheMovieScale):Fix a bug where ratio was computed wrong because it was using integer math + (QTMovieWinPrivate::task):Compute movie scale before computing movie size so values are correct + (QTMovieWinPrivate::setSize):Move movie size update to updateMovieSize() + (QTMovieWinPrivate::updateMovieSize):Wrap size update in a new call so it can be used from multiple places + +2010-02-05 Enrica Casucci <enrica@apple.com> + + Reviewed by Simon Fraser. + + Horizontal scrollbar works in reverse at milliondollarcu.be + <rdar://problem/7556121> + https://bugs.webkit.org/show_bug.cgi?id=33848 + + Added a manual test. + + * manual-tests/win: Added. + * manual-tests/win/horizontal-scroll-composited.html: Added. + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::setScrollFrame): + (WebCore::WKCACFLayerRenderer::setRootChildLayer): + +2010-02-05 Ryan Leavengood <leavengood@gmail.com> + + Reviewed by David Levin. + + Implementation of GlyphPage::fill() for Haiku port. + https://bugs.webkit.org/show_bug.cgi?id=34527 + + Covered by existing tests. + + * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp + +2010-01-19 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Reviewed by Dave Hyatt. + + Implement flattening of framesets + https://bugs.webkit.org/show_bug.cgi?id=32717 + + The following patch, builds ontop of Antti Koivisto's frameset + flattening code from the iPhone source, which itself is based on + the old Nokia Series 60 source. + + Layout tests have been added to test the functionality and the original + code which has then been fixed to make these pass, as well as support + frameset grids. + + Tests: fast/frames/flattening/frameset-flattening-advanced.html + fast/frames/flattening/frameset-flattening-grid.html + fast/frames/flattening/frameset-flattening-simple.html + fast/frames/flattening/frameset-flattening-subframe-resize.html + fast/frames/flattening/frameset-flattening-subframesets.html + + * page/FrameView.cpp: + (WebCore::FrameView::layout): + (WebCore::FrameView::scheduleRelayout): + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setFrameSetFlatteningEnabled): + * page/Settings.h: + (WebCore::Settings::frameSetFlatteningEnabled): + * rendering/RenderFrame.cpp: + (WebCore::RenderFrame::layoutWithFlattening): + * rendering/RenderFrame.h: + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::layout): + (WebCore::RenderFrameSet::positionFramesWithFlattening): + (WebCore::RenderFrameSet::flattenFrameSet): + (WebCore::RenderFrameSet::userResize): + * rendering/RenderFrameSet.h: + +2010-02-05 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Changing display type of parent of input on focus causes input field to not receive key events + https://bugs.webkit.org/show_bug.cgi?id=34620 + <rdar://problem/7584572> + + When layout affects a text input, the RenderTextControl gets destroyed and + recreated, which in turn makes a new innerTextElement. However, if the text field was + focused, the VisibleSelection is left pointing to the old innerTextElement, so text + input no longer works. + + The fix is to call updateFocusAppearanceSoon() when attaching the input element, + which will update the selection if necessary. + + Test: fast/forms/restore-selection-after-layout.html + + * dom/Document.h: Add a paramter to updateFocusAppearanceSoon() and a member variable, + m_updateFocusAppearanceRestoresSelection, to store its value until the timer fires. + * dom/Document.cpp: + (WebCore::Document::Document): Initialize m_updateFocusAppearanceRestoresSelection + (WebCore::Document::updateFocusAppearanceSoon): New restorePreviousSelection parameter. + (WebCore::Document::updateFocusAppearanceTimerFired): Pass m_updateFocusAppearanceRestoresSelection down. + * dom/Element.cpp: + (WebCore::Element::attach): Call updateFocusAppearanceSoon() with false. + * dom/Element.h: The updateFocusAppearanceSoonAfterAttach() was undefined. + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::attach): Call document()->updateFocusAppearanceSoon() with true. + +2010-02-05 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: simplify cookies view, introduce DataGrid::autoSizeColumns. + + https://bugs.webkit.org/show_bug.cgi?id=34646 + + * inspector/front-end/CookieItemsView.js: + (WebInspector.CookieItemsView): + (WebInspector.CookieItemsView.prototype.show): + (WebInspector.CookieItemsView.prototype._update): + (WebInspector.CookieItemsView.prototype._updateWithCookies): + (WebInspector.CookieItemsView.prototype._filterCookiesForDomain): + (WebInspector.CookieItemsView.prototype._createDataGrid): + (WebInspector.CookieItemsView.prototype._populateDataGrid.expiresCompare): + (WebInspector.CookieItemsView.prototype._populateDataGrid): + (WebInspector.CookieItemsView.prototype._createSimpleDataGrid): + (WebInspector.CookieItemsView.prototype._populateSimpleDataGrid): + (WebInspector.CookieItemsView.prototype._deleteCookieCallback): + (WebInspector.CookieItemsView.prototype._refreshButtonClicked): + * inspector/front-end/DOMStorageItemsView.js: + (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries): + (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries): + * inspector/front-end/DataGrid.js: + (WebInspector.DataGrid): + (WebInspector.DataGrid.prototype.autoSizeColumns): + * inspector/front-end/DatabaseQueryView.js: + (WebInspector.DatabaseQueryView.prototype._queryFinished): + * inspector/front-end/DatabaseTableView.js: + (WebInspector.DatabaseTableView.prototype._queryFinished): + * inspector/front-end/StoragePanel.js: + (WebInspector.StoragePanel.prototype.dataGridForResult): + +2010-02-04 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: group cookies by frame, show total + cookies size, allow sorting cookie table. + + https://bugs.webkit.org/show_bug.cgi?id=34617 + + * English.lproj/localizedStrings.js: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::deleteCookie): + * inspector/front-end/CookieItemsView.js: + (WebInspector.CookieItemsView): + (WebInspector.CookieItemsView.prototype.update): + (WebInspector.CookieItemsView.prototype._updateWithCookies): + (WebInspector.CookieItemsView.prototype._cookiesForDomain): + (WebInspector.CookieItemsView.prototype.dataGridForCookies): + (WebInspector.CookieItemsView.prototype._createNodes): + (WebInspector.CookieItemsView.prototype._sortData.localeCompare): + (WebInspector.CookieItemsView.prototype._sortData.numberCompare): + (WebInspector.CookieItemsView.prototype._sortData.expiresCompare): + (WebInspector.CookieItemsView.prototype._sortData): + * inspector/front-end/StoragePanel.js: + (WebInspector.StoragePanel.prototype.showCookies): + (WebInspector.CookieSidebarTreeElement): + (WebInspector.CookieSidebarTreeElement.prototype.onselect): + (WebInspector.CookieSidebarTreeElement.prototype.get subtitle): + (WebInspector.CookieSidebarTreeElement.prototype.set subtitle): + * inspector/front-end/inspector.js: + (WebInspector.updateResource): + +2010-02-05 Maxime Simone <simon.maxime@gmail.com> + + Reviewed by David Levin. + + More robust conversion from BString to String for Haiku port. + https://bugs.webkit.org/show_bug.cgi?id=34527 + + Covered by existing tests. + + * platform/text/haiku/StringHaiku.cpp: Fixed include order, Improved coversion from BString. + +2010-02-05 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Adam Roben. + + Windows build fix. + + * WebCore.vcproj/WebCore.make: + +2010-02-05 Csaba Osztrogonác <ossy@webkit.org> + + Reviewed by Dirk Schulze. + Rubber-stamped by Kenneth Rohde Christiansen. + + [Qt] Modifying SVG path dumping to equal to other ports + https://bugs.webkit.org/show_bug.cgi?id=33784 + + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::debugString): Path dumping style is aproached to Mac. + +2010-02-05 Sebastian Dröge <sebastian.droege@collabora.co.uk> + + Reviewed by Gustavo Noronha. + + Add a GStreamer HTTP/HTTPS source, using WebKit infrastructure + https://bugs.webkit.org/show_bug.cgi?id=34317 + + * GNUmakefile.am: + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mediaPlayerPrivateSourceChangedCallback): + (WebCore::doGstInit): + * platform/graphics/gtk/WebKitWebSourceGStreamer.cpp: + * platform/graphics/gtk/WebKitWebSourceGStreamer.h: + Add a GStreamer HTTP/HTTPS source, using the WebKit infrastructure. + This makes sure that referer, cookies, authentication information + and all kinds of other context are passed to GStreamer for websites + like Vimeo or YouTube. + +2010-02-05 Nate Chapin <japhet@chromium.org> + + Reviewed by Dimitri Glazkov. + + [V8] Clean up code for getting a v8::FunctionTemplate. + + https://bugs.webkit.org/show_bug.cgi?id=34606 + + * bindings/scripts/CodeGeneratorV8.pm: Making GetTemplate() public + * bindings/v8/V8Binding.cpp: + (WebCore::configureTemplate): + * bindings/v8/V8DOMWrapper.cpp: Remove getTemplate(), use V8ClassIndex::getTemplate() instead. + (WebCore::V8DOMWrapper::getConstructor): + (WebCore::V8DOMWrapper::instantiateV8Object): + * bindings/v8/V8DOMWrapper.h: + (WebCore::V8DOMWrapper::lookupDOMWrapper): + * bindings/v8/V8Index.cpp: Remove duplicate caching of FunctionTemplates. + (WebCore::V8ClassIndex::getTemplate): + * bindings/v8/V8Index.h: + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::WorkerContextExecutionProxy::toV8): + * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: + (WebCore::v8HTMLAudioElementConstructorCallback): + (WebCore::V8HTMLAudioElementConstructor::GetTemplate): + * bindings/v8/custom/V8HTMLAudioElementConstructor.h: + * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: + (WebCore::v8HTMLImageElementConstructorCallback): + (WebCore::V8HTMLImageElementConstructor::GetTemplate): + * bindings/v8/custom/V8HTMLImageElementConstructor.h: + * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: + (WebCore::v8HTMLOptionElementConstructorCallback): + (WebCore::V8HTMLOptionElementConstructor::GetTemplate): + * bindings/v8/custom/V8HTMLOptionElementConstructor.h: + * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: + (WebCore::createInjectedScriptHostV8Wrapper): + +2010-02-05 Siddharth Mathur <siddharth.mathur@nokia.com> + + Reviewed by Ariya Hidayat. + + [Qt] Build break in QtWebkit on Symbian + https://bugs.webkit.org/show_bug.cgi?id=34597 + + * plugins/PluginView.h: + +2010-02-05 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + - Use SerializedScriptValue for passing data between injected script and + inspector frontend. + - Remove custom JSON implementation from the instpector utility script. + - Make sure that only objects created in the same ScriptState can be values + of ScriptObject/Array properties and arguments to ScriptFunctionCall. We don't + want ScriptObjects to leak between contexts. + - Use ScriptState of the 'this' object in ScriptFunctionCall instead of passing + it as additional parameter. + + https://bugs.webkit.org/show_bug.cgi?id=33592 + + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript): + * bindings/js/ScriptArray.cpp: + (WebCore::ScriptArray::set): + * bindings/js/ScriptFunctionCall.cpp: + (WebCore::ScriptFunctionCall::ScriptFunctionCall): + (WebCore::ScriptFunctionCall::appendArgument): + * bindings/js/ScriptFunctionCall.h: + * bindings/js/ScriptObject.cpp: + (WebCore::ScriptObject::set): + * bindings/js/ScriptValue.cpp: + (WebCore::ScriptValue::serialize): + (WebCore::ScriptValue::deserialize): + * bindings/js/ScriptValue.h: + * bindings/v8/ScriptArray.cpp: + (WebCore::ScriptArray::set): + * bindings/v8/ScriptFunctionCall.cpp: + (WebCore::ScriptFunctionCall::ScriptFunctionCall): + (WebCore::ScriptFunctionCall::appendArgument): + * bindings/v8/ScriptFunctionCall.h: + * bindings/v8/ScriptObject.cpp: + (WebCore::ScriptObject::set): + * bindings/v8/ScriptState.h: + * bindings/v8/ScriptValue.cpp: + (WebCore::ScriptValue::serialize): + (WebCore::deserialize): + * bindings/v8/ScriptValue.h: + * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: + (WebCore::V8InjectedScriptHost::reportDidDispatchOnInjectedScriptCallback): + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::dispatch): + (WebCore::InjectedScript::callFrames): + (WebCore::InjectedScript::wrapForConsole): + (WebCore::InjectedScript::releaseWrapperObjectGroup): + * inspector/InjectedScript.h: + * inspector/InjectedScriptHost.cpp: + (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript): + * inspector/InjectedScriptHost.h: + * inspector/InjectedScriptHost.idl: + * inspector/InspectorBackend.cpp: + (WebCore::InspectorBackend::dispatchOnInjectedScript): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::setFrontendProxyObject): + (WebCore::InspectorController::didPause): + (WebCore::InspectorController::didEvaluateForTestInFrontend): + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::InspectorFrontend): + (WebCore::InspectorFrontend::newScriptArray): + (WebCore::InspectorFrontend::newScriptObject): + (WebCore::InspectorFrontend::populateFrontendSettings): + (WebCore::InspectorFrontend::updateConsoleMessageExpiredCount): + (WebCore::InspectorFrontend::addConsoleMessage): + (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount): + (WebCore::InspectorFrontend::updateResource): + (WebCore::InspectorFrontend::removeResource): + (WebCore::InspectorFrontend::didGetResourceContent): + (WebCore::InspectorFrontend::updateFocusedNode): + (WebCore::InspectorFrontend::setAttachedWindow): + (WebCore::InspectorFrontend::addRecordToTimeline): + (WebCore::InspectorFrontend::parsedScriptSource): + (WebCore::InspectorFrontend::failedToParseScriptSource): + (WebCore::InspectorFrontend::addProfileHeader): + (WebCore::InspectorFrontend::setRecordingProfile): + (WebCore::InspectorFrontend::didGetProfileHeaders): + (WebCore::InspectorFrontend::didGetProfile): + (WebCore::InspectorFrontend::pausedScript): + (WebCore::InspectorFrontend::setDocument): + (WebCore::InspectorFrontend::setDetachedRoot): + (WebCore::InspectorFrontend::setChildNodes): + (WebCore::InspectorFrontend::childNodeCountUpdated): + (WebCore::InspectorFrontend::childNodeInserted): + (WebCore::InspectorFrontend::childNodeRemoved): + (WebCore::InspectorFrontend::attributesUpdated): + (WebCore::InspectorFrontend::didRemoveNode): + (WebCore::InspectorFrontend::didGetChildNodes): + (WebCore::InspectorFrontend::didApplyDomChange): + (WebCore::InspectorFrontend::didGetEventListenersForNode): + (WebCore::InspectorFrontend::didGetCookies): + (WebCore::InspectorFrontend::didDispatchOnInjectedScript): + (WebCore::InspectorFrontend::addDatabase): + (WebCore::InspectorFrontend::selectDatabase): + (WebCore::InspectorFrontend::didGetDatabaseTableNames): + (WebCore::InspectorFrontend::addDOMStorage): + (WebCore::InspectorFrontend::selectDOMStorage): + (WebCore::InspectorFrontend::didGetDOMStorageEntries): + (WebCore::InspectorFrontend::didSetDOMStorageItem): + (WebCore::InspectorFrontend::didRemoveDOMStorageItem): + (WebCore::InspectorFrontend::updateDOMStorage): + (WebCore::InspectorFrontend::addNodesToSearchResult): + (WebCore::InspectorFrontend::contextMenuItemSelected): + (WebCore::InspectorFrontend::evaluateForTestInFrontend): + (WebCore::InspectorFrontend::callSimpleFunction): + * inspector/InspectorFrontend.h: + (WebCore::InspectorFrontend::scriptState): + * inspector/front-end/InjectedScript.js: + (injectedScriptConstructor): + (injectedScriptConstructor.): + * inspector/front-end/InjectedScriptAccess.js: + (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName.myCallback): + (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName): + (InjectedScriptAccess._installHandler): + * inspector/front-end/inspector.js: + (WebInspector.pausedScript): + (WebInspector.addConsoleMessage): + +2010-02-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Generate convenience headers (QWebView, etc) using qmake + + In Qt this is done using syncqt, but we use a pro-file instead + that generates makefile-rules for each of the extra headers. + + These extra headers are installed alongside the normal headers. + + * WebCore.pro: Use headers.pri based on DerivedSources instead + of the one previously checked in in the source tree. + +2010-02-05 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Enable JAVASCRIPT_DEBUGGER in chromium port. + + https://bugs.webkit.org/show_bug.cgi?id=34638 + + * page/Console.cpp: + * page/Console.h: + * page/Console.idl: + +2010-02-05 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Tab width for javascript source is 8, should be 4 + + https://bugs.webkit.org/show_bug.cgi?id=31248 + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): + * inspector/front-end/TextEditorModel.js: + (WebInspector.TextEditorModel.prototype.set replaceTabsWithSpaces): + (WebInspector.TextEditorModel.prototype._innerSetText): + (WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded): + +2010-02-05 Tony Chang <tony@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24872 + When pasting a list into another list should not indent another level. + If the cursor is at the beginning of the line, it should insert the + list items before the current list item. If the cursor is at the end + of the line, it should insert the list items after the current list item. + + This matches Firefox and IE and makes the common activity of reordering a list + work as expected. + + This also adds a small helper method (isListItem) to htmlediting.h. + + Test: editing/pasteboard/paste-list-002.html + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + (WebCore::ReplaceSelectionCommand::insertAsListItems): + * editing/ReplaceSelectionCommand.h: + * editing/htmlediting.cpp: + (WebCore::isListItem): + (WebCore::appendedSublist): + * editing/htmlediting.h: + +2010-02-04 Mark Rowe <mrowe@apple.com> + + Reviewed by Timothy Hatcher. + + Build fix. Remove a symbol corresponding to an inline function from the linker export + file to prevent a weak external failure. + + * WebCore.base.exp: Remove symbol. + * WebCore.xcodeproj/project.pbxproj: Accommodate rename of script. + +2010-02-04 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Updated to use new WeakGCPtr::clear interface. + + * bindings/js/JSEventListener.cpp: + * bindings/js/JSEventListener.h: + (WebCore::JSEventListener::invalidateJSFunction): + +2010-02-04 Geoffrey Garen <ggaren@apple.com> + + Build fix: Added a forwarding header. + + * ForwardingHeaders/runtime/WeakGCPtr.h: Added. + +2010-02-04 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Alexey Proskuryakov and Darin Adler. + + REGRESSION (r52082): Missing event handlers on JQuery demo page (33383) + https://bugs.webkit.org/show_bug.cgi?id=33383 + <rdar://problem/7559449> + + There were two bugs here: + + 1. A stale wrapper would invalidate a node's event listeners, even if + the node had a fresh wrapper keeping it alive. + + The fix for this is for an event listener to keep a WeakGCPtr back-pointer + to the wrapper it expects to mark it. The wrapper destructor checks this + back-pointer, and only invalidates the event listener in the case of a match. + + 2. Conversely, a stale wrapper would not invalidate a node's event + listeners soon enough, if its destructor didn't have a chance to run + before an event fired on the node. (This can only happen in cases where + we've made some other error and failed to mark a wrapper that was circuitously + observable in the DOM. But we know we have edge case bugs like this, and + we don't want them to be crashes.) + + The fix for this is to check the wrapper back-pointer before firing the + event listener. As long as the the wrapper back-pointer is not null, + it's safe to fire the listener. + + * ForwardingHeaders/runtime/WeakGCPtr.h: Added. Appease build gods. + + * bindings/js/JSAbstractWorkerCustom.cpp: + (WebCore::JSAbstractWorker::addEventListener): + (WebCore::JSAbstractWorker::removeEventListener): + * bindings/js/JSDOMApplicationCacheCustom.cpp: + (WebCore::JSDOMApplicationCache::addEventListener): + (WebCore::JSDOMApplicationCache::removeEventListener): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::markChildren): + (WebCore::JSDOMWindow::addEventListener): + (WebCore::JSDOMWindow::removeEventListener): Updated to pass a wrapper + to the JSEventListener constructor. + + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::JSEventListener): + (WebCore::JSEventListener::initializeJSFunction): + (WebCore::JSEventListener::invalidateJSFunction): + * bindings/js/JSEventListener.h: + (WebCore::JSEventListener::create): + (WebCore::JSEventListener::isolatedWorld): + (WebCore::JSEventListener::wrapper): + (WebCore::JSEventListener::setWrapper): + (WebCore::JSEventListener::jsFunction): + (WebCore::createJSAttributeEventListener): Implemented the back-pointer + described above. Refactored the jsFunction() accessor to return 0 if + the wrapper back-pointer is 0. + + * bindings/js/JSEventSourceCustom.cpp: + (WebCore::JSEventSource::addEventListener): + (WebCore::JSEventSource::removeEventListener): + * bindings/js/JSLazyEventListener.cpp: + (WebCore::JSLazyEventListener::JSLazyEventListener): + (WebCore::JSLazyEventListener::initializeJSFunction): + * bindings/js/JSLazyEventListener.h: + (WebCore::JSLazyEventListener::create): + * bindings/js/JSMessagePortCustom.cpp: + (WebCore::JSMessagePort::markChildren): + (WebCore::JSMessagePort::addEventListener): + (WebCore::JSMessagePort::removeEventListener): + * bindings/js/JSNodeCustom.cpp: + (WebCore::JSNode::addEventListener): + (WebCore::JSNode::removeEventListener): + (WebCore::JSNode::markChildren): + * bindings/js/JSSVGElementInstanceCustom.cpp: + (WebCore::JSSVGElementInstance::addEventListener): + (WebCore::JSSVGElementInstance::removeEventListener): + * bindings/js/JSWebSocketCustom.cpp: + (WebCore::JSWebSocket::addEventListener): + (WebCore::JSWebSocket::removeEventListener): + * bindings/js/JSWorkerContextCustom.cpp: + (WebCore::JSWorkerContext::markChildren): + (WebCore::JSWorkerContext::addEventListener): + (WebCore::JSWorkerContext::removeEventListener): + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::markChildren): + (WebCore::JSXMLHttpRequest::addEventListener): + (WebCore::JSXMLHttpRequest::removeEventListener): + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + (WebCore::JSXMLHttpRequestUpload::markChildren): + (WebCore::JSXMLHttpRequestUpload::addEventListener): + (WebCore::JSXMLHttpRequestUpload::removeEventListener): Updated to pass a wrapper + to the JSEventListener constructor. + + + * bindings/js/ScriptEventListener.cpp: + (WebCore::createAttributeEventListener): Updated to pass a wrapper + to the JSEventListener constructor. + (WebCore::getEventListenerHandlerBody): Updated for the fact that jsFunction() + is no longer a virtual accessor on the EventHandler base class. + + * bindings/scripts/CodeGeneratorJS.pm: Updated for the fact that jsFunction() + is no longer a virtual accessor on the EventHandler base class. Added a "JS" + to invalidateEventListeners and markEventListeners to clarify that these + actions are for JS event listeners only. Added a wrapper parameter to + invalidateEventListeners for the back-pointer check explained above. + + * dom/EventListener.h: + (WebCore::EventListener::invalidateJSFunction): ditto + + * dom/EventTarget.h: + (WebCore::EventTarget::markJSEventListeners): + (WebCore::EventTarget::invalidateJSEventListeners): ditto + +2010-02-04 Tony Chang <tony@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=25002 + When inserting a new paragraph, avoid nesting empty divs. When + pasting near the end of a paragraph, this prevents each paste + command for getting nested one level deeper. + + Test: editing/inserting/paragraph-outside-nested-divs.html + + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::highestVisuallyEquivalentDiv): + (WebCore::InsertParagraphSeparatorCommand::doApply): + +2010-02-04 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Eric Seidel. + + 1. Fix a bug in SQLiteTransaction: do not assume that COMMIT always + succeeds. + 2. Jump straight to the transaction error callback when a + statement fails in a way that makes sqlite automatically rollback + the transaction. + 3. Fix the code that handles the "quota reached" failure, as it is + one of the failures that lead to an automatic transaction + rollback. + + https://bugs.webkit.org/show_bug.cgi?id=34280 + + * platform/sql/SQLiteDatabase.cpp: + (WebCore::SQLiteDatabase::isAutoCommitOn): + * platform/sql/SQLiteDatabase.h: + * platform/sql/SQLiteTransaction.cpp: + (WebCore::SQLiteTransaction::begin): + (WebCore::SQLiteTransaction::commit): + (WebCore::SQLiteTransaction::rollback): + (WebCore::SQLiteTransaction::transactionWasRolledBackBySqlite): + * platform/sql/SQLiteTransaction.h: + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::SQLTransaction): + (WebCore::SQLTransaction::runStatements): + (WebCore::SQLTransaction::runCurrentStatement): + (WebCore::SQLTransaction::handleCurrentStatementError): + (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): + +2010-02-04 Peter Kasting <pkasting@google.com> + + Not reviewed, rollback. + + Rollback r54387, it doesn't fix builds and Chromium doesn't want this behavior. + + * platform/chromium/ScrollbarThemeChromiumMac.h: + +2010-02-04 Stephen White <senorblanco@chromium.org> + + Unreviewed, build fix. + + Fix for Chromium/Mac after palindromic scrollbar change (54345). + + Covered by many layout tests. + + * platform/chromium/ScrollbarThemeChromiumMac.h: + (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages): + +2010-02-04 Clemmitt Sigler <cmsigler@gmail.com> + + Reviewed by David Levin. + + WebKitGTK doesn't build GtkLauncher when --enable-mathml is specified. + Updated WebCore/GNUmakefile.am to include needed files in build. + + https://bugs.webkit.org/show_bug.cgi?id=34387 + + No new tests. + + * GNUmakefile.am: + +2010-02-04 Stephan Aßmus <superstippi@gmx.de> + + Reviewed by David Levin. + + Misc coding style fixes in Haiku port code. + https://bugs.webkit.org/show_bug.cgi?id=34527 + + No tests needed. + + * platform/haiku/ContextMenuItemHaiku.cpp: Trailing white space, NULL -> 0 + * platform/haiku/DragImageHaiku.cpp: Trailing white space. + * platform/haiku/FileChooserHaiku.cpp: Sorted headers. + * platform/haiku/LocalizedStringsHaiku.cpp: Needed to include NotImplemented.h + +2010-02-04 Enrica Casucci <enrica@apple.com> + + Reviewed by Csaba Osztrogonac. + + Fixed crash on QT introduced with the fix for + https://bugs.webkit.org/show_bug.cgi?id=34609 + + The test has been added with the original patch. + + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::writePlainText): Added missing allocation of m_writeData. + +2010-02-04 Christian Dywan <christian@twotoasts.de> + + Reviewed by Xan Lopez. + + Conditionalize third party cookie policy for libsoup 2.29.90. + + * platform/network/soup/CookieJarSoup.cpp: + (WebCore::setCookies): + * platform/network/soup/DNSSoup.cpp: + (WebCore::prefetchDNS): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::restartedCallback): + (WebCore::startHttp): + * platform/network/soup/ResourceRequestSoup.cpp: + (WebCore::ResourceRequest::toSoupMessage): + (WebCore::ResourceRequest::updateFromSoupMessage): + +2010-02-04 Christian Dywan <christian@twotoasts.de> + + Rubber-stamped by Gustavo Noronha Silva. + + Add ENABLE(VIDEO) guards around freeOwnedGPtr<GstElement> implementation. + + * platform/gtk/GOwnPtrGtk.cpp: + +2010-02-04 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + Assertion failure in CheckedRadioButtons::removeButton when using jQuery 1.4.1 + https://bugs.webkit.org/show_bug.cgi?id=34520 + + Test: fast/dom/HTMLInputElement/cloned-input-checked-state.html + + * dom/Element.cpp: (WebCore::Element::cloneElementWithoutChildren): Copy non-attribute + properties before attributes. Otherwise, copying "checked" attribute would make the cloned + node checked, unchecking original (they share a name, and are thus in the same radio group). + We do want the original to be unchecked, but we also want to know its original state in + HTMLInputElement::copyNonAttributeProperties(). + + * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::copyNonAttributeProperties): + Use setChecked instead of plain assignment to prevent m_checked getting out of sync with + checkedRadioButtons. Also, copy field related to default checked state, so that m_checked + won't be overridden when copying attributes. + +2010-02-04 Kevin Ollivier <kevino@theolliviers.com> + + [wx] Build fix after addition of Clipboard::writePlainText method. + + * platform/wx/ClipboardWx.cpp: + (WebCore::ClipboardWx::writePlainText): + * platform/wx/ClipboardWx.h: + +2010-02-04 Enrica Casucci <enrica@apple.com> + + Reviewed by Oliver Hunt. + + REGRESSION: Dragging plain text into a styled text region does not acquire the correct style info. + <rdar://problem/7595685> + https://bugs.webkit.org/show_bug.cgi?id=34609 + + Test: editing/pasteboard/drop-inputtext-acquires-style.html + + The dragging code did not distinguish the case of dragging the content of an input control + as a special case. The markup placed in the pasteboard included the style information. + I've modified the Clipboard class interface adding a new method writePlainText to match the + behavior of the copy and cut commands and modified the drag code to detect the special case. + I've modified all the platform specific implementations of the Clipboard class. + + * dom/Clipboard.h: Added writePlainText pure virtual function. + * editing/Editor.cpp: + (WebCore::Editor::cut): Renamed nodeIsTextFormControl to isNodeInTextFormControl. + (WebCore::Editor::copy): Renamed nodeIsTextFormControl to isNodeInTextFormControl. + * editing/htmlediting.cpp: + (WebCore::isNodeInTextFormControl): Added, after removing the implementation with the old name + in Editor.cpp + * editing/htmlediting.h: + * page/DragController.cpp: + (WebCore::DragController::startDrag): + * platform/Pasteboard.h: + * platform/android/ClipboardAndroid.cpp: + (WebCore::ClipboardAndroid::writePlainText): Added. + * platform/android/ClipboardAndroid.h: + * platform/chromium/ClipboardChromium.cpp: + (WebCore::ClipboardChromium::writePlainText): Added. + * platform/chromium/ClipboardChromium.h: + * platform/gtk/ClipboardGtk.cpp: + (WebCore::ClipboardGtk::writePlainText): Added. + * platform/gtk/ClipboardGtk.h: + * platform/haiku/ClipboardHaiku.cpp: + (WebCore::ClipboardHaiku::writePlainText): Added. + * platform/haiku/ClipboardHaiku.h: + * platform/mac/ClipboardMac.h: + * platform/mac/ClipboardMac.mm: + (WebCore::ClipboardMac::writePlainText): Added. + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::writePlainText): Added helper function. + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::writePlainText): Added. + * platform/qt/ClipboardQt.h: + * platform/win/ClipboardWin.cpp: + (WebCore::ClipboardWin::writePlainText): Added. + * platform/win/ClipboardWin.h: + +2010-02-04 Steve Block <steveblock@google.com> + + Reviewed by Nate Chapin. + + Fix bug in V8 convertNPVariantToJValue when converting float and double types + https://bugs.webkit.org/show_bug.cgi?id=34593 + + No new tests, build fix only. + + * bridge/jni/v8/JNIUtilityPrivate.cpp: Modified. + (JSC::Bindings::convertNPVariantToJValue): Modified. Use correct members of 'result' enum. + +2010-02-04 Chris Guillory <chris.guillory@google.com> + + Reviewed by Darin Fisher. + + [Chromium] Notify ChromeClientChromium of AccessibilityObject state + change notifications. + + https://bugs.webkit.org/show_bug.cgi?id=34464 + + * accessibility/chromium/AXObjectCacheChromium.cpp: + (WebCore::toChromeClientChromium): + (WebCore::AXObjectCache::postPlatformNotification): + * page/chromium/ChromeClientChromium.h: + +2010-02-04 Stephen White <senorblanco@chromium.org> + + Unreviewed, build fix for Chromium. + + Revert r54341 ("[v8] Remove clear method from DOM object maps"), + since it causes the worker tests to fail on Chromium. + + * bindings/v8/DOMData.h: + (WebCore::DOMData::removeObjectsFromWrapperMap): + * bindings/v8/DOMDataStore.h: + (WebCore::ChunkedTable::clear): + (WebCore::ChunkedTable::clearEntries): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clear): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear): + * bindings/v8/V8DOMMap.cpp: + (WebCore::removeAllDOMObjectsInCurrentThreadHelper): + (WebCore::removeAllDOMObjectsInCurrentThread): + * bindings/v8/V8DOMMap.h: + (WebCore::WeakReferenceMap::clear): + * bindings/v8/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::~WorkerScriptController): + +2010-02-04 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Xan Lopez. + + [GTK] Crashes when an invalid hostname is pre-fetched + https://bugs.webkit.org/show_bug.cgi?id=34602 + + * platform/network/soup/DNSSoup.cpp: + (WebCore::prefetchDNS): NULL-check the SoupURI that is created + from the hostname; that will happen for invalid hostnames. + +2010-02-04 José Millán Soto <jmillan@igalia.com> + + Reviewed by Xan Lopez. + + [Gtk] webkitgtk crashed when Orca open + https://bugs.webkit.org/show_bug.cgi?id=34463 + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (textForObject): + Checking if render objects are texts before calling toRenderText + +2010-02-04 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + Set first party URI in all SoupMessages. This allows libsoup to + implement a "no third party cookies" policy in case it wants + to. Also start a non-JSC-specific, gtk-specific GOwnPtr module and + use it for SoupURI. + + * platform/network/soup/CookieJarSoup.cpp: + (WebCore::setCookies): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::restartedCallback): + (WebCore::startHttp): + * platform/network/soup/ResourceRequestSoup.cpp: + (WebCore::ResourceRequest::toSoupMessage): + (WebCore::ResourceRequest::updateFromSoupMessage): + +2010-02-04 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: group cookies by domains, not frame's domains. + + https://bugs.webkit.org/show_bug.cgi?id=34599 + + * inspector/front-end/CookieItemsView.js: + (WebInspector.CookieItemsView.prototype._cookiesForDomain): + * inspector/front-end/inspector.js: + (WebInspector.updateResource): + (WebInspector._addCookieDomain): + +2010-02-04 Nate Chapin <japhet@chromium.org> + + Reviewed by Dimitri Glazkov. + + [V8] Delete V8CustomBinding.h and all references to V8Custom + + https://bugs.webkit.org/show_bug.cgi?id=32638 + + * bindings/v8/NPV8Object.cpp: + * bindings/v8/V8DOMWindowShell.h: + * bindings/v8/V8NPObject.cpp: + * bindings/v8/V8Utilities.cpp: + * bindings/v8/custom/V8AbstractWorkerCustom.cpp: + * bindings/v8/custom/V8AttrCustom.cpp: + * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: + * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: + * bindings/v8/custom/V8ClipboardCustom.cpp: + * bindings/v8/custom/V8CoordinatesCustom.cpp: + * bindings/v8/custom/V8CustomBinding.h: Removed. + * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: + * bindings/v8/custom/V8DOMWindowCustom.cpp: + * bindings/v8/custom/V8DataGridColumnListCustom.cpp: + * bindings/v8/custom/V8DatabaseCustom.cpp: + * bindings/v8/custom/V8ElementCustom.cpp: + * bindings/v8/custom/V8EventSourceConstructor.cpp: + * bindings/v8/custom/V8EventSourceCustom.cpp: + * bindings/v8/custom/V8GeolocationCustom.cpp: + * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: + * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: + (WebCore::v8HTMLAudioElementConstructorCallback): + (WebCore::V8HTMLAudioElementConstructor::GetTemplate): + * bindings/v8/custom/V8HTMLCollectionCustom.cpp: + * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: + * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: + * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: + * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: + (WebCore::v8HTMLImageElementConstructorCallback): + (WebCore::V8HTMLImageElementConstructor::GetTemplate): + * bindings/v8/custom/V8HTMLInputElementCustom.cpp: + * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: + (WebCore::v8HTMLOptionElementConstructorCallback): + (WebCore::V8HTMLOptionElementConstructor::GetTemplate): + * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: + * bindings/v8/custom/V8HistoryCustom.cpp: + * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: + * bindings/v8/custom/V8LocationCustom.cpp: + * bindings/v8/custom/V8MessagePortCustom.cpp: + * bindings/v8/custom/V8NodeCustom.cpp: + * bindings/v8/custom/V8NodeFilterCustom.cpp: + * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: + * bindings/v8/custom/V8SQLTransactionCustom.cpp: + * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: + * bindings/v8/custom/V8SVGLengthCustom.cpp: + * bindings/v8/custom/V8SharedWorkerCustom.cpp: + * bindings/v8/custom/V8StorageCustom.cpp: + * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: + * bindings/v8/custom/V8WebGLArrayCustom.h: + * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: + * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: + * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: + * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: + * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: + * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: + * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: + * bindings/v8/custom/V8WebKitPointConstructor.cpp: + * bindings/v8/custom/V8WorkerContextCustom.cpp: + * bindings/v8/custom/V8WorkerCustom.cpp: + * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: + +2010-02-04 Ariya Hidayat <ariya.hidayat@gmail.com> + + Reviewed by Simon Hausmann. + + [Qt] Unnecessary QBrush construction for doing a solid fill + https://bugs.webkit.org/show_bug.cgi?id=34559 + + Use the similar trick like r37421, i.e. use the special brush for + solid color to avoid creating QBrush again and again. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::setPlatformFillColor): + +2010-02-04 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big + https://bugs.webkit.org/show_bug.cgi?id=34371 + + Allow ScrollbarTheme to cap the overlap between pages, and set a cap of + 40 in ScrollbarThemeMac. + + * WebCore.base.exp: Export Scrollbar::maxOverlapBetweenPages(). + * editing/EditorCommand.cpp: + (WebCore::verticalScrollDistance): Use Scrollbar methods instead of + constants, and cap the scroll distance if needed. + * platform/ScrollView.cpp: + (WebCore::ScrollView::updateScrollbars): Ditto. + (WebCore::ScrollView::wheelEvent): Ditto. + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::maxOverlapBetweenPages): Added. Returns the + value from the native scrollbar theme. + * platform/Scrollbar.h: Replaced scroll amount constants with static methods. + (WebCore::Scrollbar::pixelsPerLineStep): Replaces cScrollbarPixelsPerLineStep. + (WebCore::Scrollbar::minFractionToStepWhenPaging): Replaces cFractionToStepWhenPaging. + * platform/ScrollbarTheme.h: + (WebCore::ScrollbarTheme::maxOverlapBetweenPages): A base implementation + that returns the largest int. + * platform/gtk/WheelEventGtk.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of + constants. + * platform/haiku/PlatformWheelEventHaiku.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of + constants. + * platform/mac/ScrollbarThemeMac.h: + (WebCore::ScrollbarThemeMac::maxOverlapBetweenPages): An override + that returns 40. + * platform/mac/WheelEventMac.mm: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use + Scrollbar::pixelsPerLineStep() instead of cScrollbarPixelsPerLineStep. + * platform/wx/MouseWheelEventWx.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of + constants. + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): Use Scrollbar + methods instead of constants, and cap the scroll distance if needed. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateScrollInfoAfterLayout): Ditto. + +2010-02-04 No'am Rosenthal <noam.rosenthal@nokia.com> + + Reviewed by Ariya Hidayat. + + [Qt] Tuning and optimizations to GraphicsLayerQt. Reduce unnecessary + recaching, remove QTimer::singleShot and QPixmap::scaled, more + accurate strategy of handling transform operation blends. Rotating a + bordered-table, for example, now runs at 50FPS instead of 40FPS on Maemo5. + + https://bugs.webkit.org/show_bug.cgi?id=34062 + + This is tested by https://bugs.webkit.org/show_bug.cgi?id=34450, fps measurements. + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQtImpl::flushChanges): Fine-tune caching + (WebCore::TransformAnimationQt::TransformAnimationQt): transform bugs + (WebCore::OpacityAnimationQt::updateState): style change + +2010-02-04 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Cookies for resources are not shown in storage panel. + + https://bugs.webkit.org/show_bug.cgi?id=34594 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::getCookies): + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::updateScriptObject): + (WebCore::InspectorResource::cachedResource): + * inspector/InspectorResource.h: + (WebCore::InspectorResource::requestURL): + +2010-02-04 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + [v8] Remove clear method from DOM object maps + https://bugs.webkit.org/show_bug.cgi?id=34530 + + No new tests. Should be covered by existent testing infrastructure. + + * bindings/v8/DOMData.h: + * bindings/v8/DOMDataStore.h: + * bindings/v8/V8DOMMap.cpp: + * bindings/v8/V8DOMMap.h: + * bindings/v8/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::~WorkerScriptController): + 2010-02-04 Holger Hans Peter Freyther <zecke@selfish.org> Reviewed by Xan Lopez. |