2011-08-01 Bradley Nelson Shard webcore_remaining for msvs official builds https://bugs.webkit.org/show_bug.cgi?id=65475 Reviewed by Darin Fisher. webcore_remaining has consistently exceeded Visual Studio 2008's capacity to link when link time code generation is turned on (full release builds). This has been dealt with the past by carving off larger and larger pieces of webcore_remaining (ie webcore_html, webcore_renderer etc). A new option has been added to gyp to automate this sharding: 'msvs_shard': SHARD_COUNT, Targets marked in this way will be built in several pieces (target_0, target_1...). Since the resulting project is less comprehensible in the IDE (and since the linking limitation only afflicts official builds), this option is only needed for those builds. This patch shards webcore_remaining into 10 parts for official builds. * WebCore.gyp/WebCore.gyp: 2011-08-01 Alice Boxhall WAI-ARIA textbox role should be AXTextArea for aria-multiline=true, AXTextField for aria-multiline=false https://bugs.webkit.org/show_bug.cgi?id=65451 Reviewed by Chris Fleizach. * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute): 2011-08-01 srikumar bonda Use threadsafeCopy() API when using Database Directory path variable https://bugs.webkit.org/show_bug.cgi?id=65436 Reviewed by David Levin. Use threadsafeCopy() API while using m_databaseDirectoryPath string variable when the databaseGuard lock hasn't been taken in DatabaseTracker class. This is just a safety fix. No changes to functionality so no new tests. * storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::trackerDatabasePath): (WebCore::DatabaseTracker::deleteOrigin): 2011-08-01 Michael Nordman [Chromium] WebSQLDatabase version handling is broken in multi-process browsers. https://bugs.webkit.org/show_bug.cgi?id=65486 The WebCore::AbstractDatabase class maintains a global in-memory map of the version numbers associated with open database files, but that map is not reliable in a multi-process system like Chrome. So instead of relying on the cached values in that map, we read the value from the database (and update the cached value) where possible. There are two edge cases where that's not possible because the scriptable interface requires synchronous access to the version: the .version attribute getter and the .openDatabase() method. In those cases, we have no choice but to use the potentially stale cached value. Reviewed by Darin Fisher. No new tests. Existing layout tests cover the version handling functionality. * storage/AbstractDatabase.cpp: (WebCore::AbstractDatabase::version): (WebCore::AbstractDatabase::performOpenAndVerify): (WebCore::AbstractDatabase::getVersionFromDatabase): (WebCore::AbstractDatabase::setVersionInDatabase): (WebCore::AbstractDatabase::setExpectedVersion): (WebCore::AbstractDatabase::getCachedVersion): (WebCore::AbstractDatabase::setCachedVersion): (WebCore::AbstractDatabase::getActualVersionForTransaction): * storage/AbstractDatabase.h: (WebCore::AbstractDatabase::expectedVersion): * storage/ChangeVersionWrapper.cpp: (WebCore::ChangeVersionWrapper::handleCommitFailedAfterPostflight): * storage/ChangeVersionWrapper.h: * storage/Database.cpp: (WebCore::Database::openDatabase): * storage/DatabaseSync.cpp: (WebCore::DatabaseSync::openDatabaseSync): (WebCore::DatabaseSync::changeVersion): * storage/SQLTransaction.cpp: (WebCore::SQLTransaction::SQLTransaction): (WebCore::SQLTransaction::executeSQL): (WebCore::SQLTransaction::openTransactionAndPreflight): (WebCore::SQLTransaction::runCurrentStatement): (WebCore::SQLTransaction::postflightAndCommit): * storage/SQLTransaction.h: * storage/SQLTransactionSync.cpp: (WebCore::SQLTransactionSync::SQLTransactionSync): (WebCore::SQLTransactionSync::executeSQL): (WebCore::SQLTransactionSync::begin): * storage/SQLTransactionSync.h: 2011-08-01 Tim Horton Severe shadow repaint issues with SVGText elements https://bugs.webkit.org/show_bug.cgi?id=63648 Reviewed by Darin Adler. Make SVG elements which inherit from RenderSVGBlock take text-shadow overflow into account when determining whether or not they should draw Test: svg/custom/repaint-shadow.svg * rendering/RenderBox.h: (WebCore::RenderBox::visualOverflowRect): * rendering/svg/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::visualOverflowRect): * rendering/svg/RenderSVGBlock.h: 2011-08-01 Zhenyao Mo Unreviewed, rolling out r92022. http://trac.webkit.org/changeset/92022 https://bugs.webkit.org/show_bug.cgi?id=65203 try to see if this is causing a bunch of browser tests failues on win bots - will recommit if not * platform/graphics/chromium/FontChromiumWin.cpp: (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter): (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init): (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter): (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter): (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc): (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter): (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter): (WebCore::drawGlyphsWin): (WebCore::Font::drawComplexText): * platform/graphics/chromium/UniscribeHelper.cpp: (WebCore::UniscribeHelper::draw): * platform/graphics/skia/PlatformContextSkia.cpp: (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed): * platform/graphics/skia/PlatformContextSkia.h: * platform/graphics/skia/SkiaFontWin.cpp: (WebCore::windowsCanHandleDrawTextShadow): (WebCore::windowsCanHandleTextDrawing): (WebCore::windowsCanHandleTextDrawingWithoutShadow): * platform/graphics/skia/SkiaFontWin.h: 2011-08-01 Scott Graham REGRESSION (r39725?): Resources removed from document can not be freed until the document is deleted https://bugs.webkit.org/show_bug.cgi?id=61006 Reviewed by Antti Koivisto. Upon completing a load start a Timer to iterate through CachedResourceLoader's m_documentResources map to check for any items that have only one reference (thus being the reference in the map itself). The map should really be weak, but because the CachedResourceHandle achieves bookkeeping work in addition to reference counting, this is a simpler and more localized way to free the used memory while maintaining the other behaviour (when CachedResource is used as proxy). With this patch the testcase at https://bugs.webkit.org/attachment.cgi?id=93850 should no longer consume 400MB of ram on load. Test added for crash discovered in previous revision, but no tests for memory usage. Test: http/tests/inspector/network/disabled-cache-crash.html * WebCore.exp.in: * loader/cache/CachedResource.h: (WebCore::CachedResource::hasOneHandle): * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::CachedResourceLoader): (WebCore::CachedResourceLoader::loadDone): (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired): * loader/cache/CachedResourceLoader.h: * testing/Internals.cpp: (WebCore::Internals::disableMemoryCache): * testing/Internals.h: * testing/Internals.idl: 2011-08-01 Jochen Eisinger Never override the policy URL on form submissions. https://bugs.webkit.org/show_bug.cgi?id=61809 Reviewed by Adam Barth. Tests: http/tests/security/cookies/third-party-cookie-blocking-main-frame.html http/tests/security/cookies/third-party-cookie-blocking-user-action.html http/tests/security/cookies/third-party-cookie-blocking.html * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadURL): (WebCore::FrameLoader::addExtraFieldsToSubresourceRequest): (WebCore::FrameLoader::addExtraFieldsToMainResourceRequest): (WebCore::FrameLoader::addExtraFieldsToRequest): (WebCore::FrameLoader::loadPostRequest): (WebCore::FrameLoader::loadDifferentDocumentItem): * loader/FrameLoader.h: 2011-08-01 Ryosuke Niwa Update comment added in r92139 per Darin's suggestion. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForElement): 2011-08-01 Ryosuke Niwa Search field in designMode causes a crash https://bugs.webkit.org/show_bug.cgi?id=65362 Reviewed by Dimitri Glazkov. The crashed was caused by editing code inadvertently deleting search and cancel buttons in the design mode. Fixed the bug by avoid inheriting user-modify property from the shadow host. Test: editing/input/search-field-crash-in-designmode.html * css/CSSStyleSelector.cpp: (WebCore::isAtShadowBoundary): Moved. (WebCore::CSSStyleSelector::styleForElement): Overrides -webkit-user-modify by the initial value after m_style inherited the values from m_parentStyle but before applying matched rules. * dom/Node.cpp: (WebCore::Node::rendererIsEditable): Ignore page's editability inside a shadow DOM. 2011-08-01 Marco Peereboom [Soup] Set default max-conns to a more sane default value and fix comment https://bugs.webkit.org/show_bug.cgi?id=65335 Reviewed by Martin Robinson. Rigged the xxxterm web browser and validated that the default values were set properly. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandle::defaultSession): 2011-07-28 Abhishek Arya Regression(82144): Crash in TrailingObjects::updateMidpointsForTrailingBoxes https://bugs.webkit.org/show_bug.cgi?id=65137 Fix the looping condition to prevent trailingSpaceMidpoint from becoming negative. Reviewed by Dave Hyatt. Test: fast/block/update-midpoints-for-trailing-boxes-crash.html * rendering/RenderBlockLineLayout.cpp: (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes): 2011-08-01 Benjamin Poulain [Qt] OpenGLShims does not build on ARM https://bugs.webkit.org/show_bug.cgi?id=65465 Reviewed by Noam Rosenthal. Fix the build with OpenGL ES 2: -lookupOpenGLFunctionAddress() was defined but not used for OpenGL ES. -glBlitFramebuffer() and glRenderbufferStorageMultisample() are not part of the specification. When those are available as platform extension, the extension has been added. -GLchar is not defined on some platform. The patch adds the same typedef as the official definition to avoid conflicts. * platform/graphics/cairo/OpenGLShims.cpp: (lookupOpenGLFunctionAddress): (WebCore::initializeOpenGLShims): * platform/graphics/cairo/OpenGLShims.h: 2011-08-01 Yury Semikhatsky Unreviewed. Trivial fix for inspector/debugger/debugger-completions-on-call-frame.html after r92122. * inspector/front-end/ConsoleView.js: 2011-08-01 Hayato Ito Add support for getting an element in shadow root by its id into a window.internals object. https://bugs.webkit.org/show_bug.cgi?id=64587 Reviewed by Hajime Morita. Test: fast/dom/shadow/get-element-by-id-in-shadow-root.html * WebCore.exp.in: * testing/Internals.cpp: (WebCore::Internals::getElementByIdInShadowRoot): * testing/Internals.h: * testing/Internals.idl: 2011-07-15 Hayato Ito Add support for retrieving an element in TreeScope by id to window.internals object. https://bugs.webkit.org/show_bug.cgi?id=64587 Reviewed by Hajime Morita. Test: fast/dom/shadow/get-element-by-id-in-shadow.html * WebCore.exp.in: * testing/Internals.cpp: (WebCore::Internals::getElementByIdInTreeScope): * testing/Internals.h: * testing/Internals.idl: 2011-08-01 Yury Semikhatsky Web Inspector: typing an expression in an iframe leads to multiple "Unsafe JavaScript attempt to access frame..." errors https://bugs.webkit.org/show_bug.cgi?id=65457 Console completions are now done using evaluation which returns a JSON object with all property names rather than a remote object. Also Runtime.evaluate and Runtime.callFunctionOn commands were extended with an optional parameter that allows to get result as JSON value. Reviewed by Pavel Feldman. Test: http/tests/inspector/console-cd-completions.html * inspector/InjectedScript.cpp: (WebCore::InjectedScript::evaluate): (WebCore::InjectedScript::callFunctionOn): * inspector/InjectedScript.h: * inspector/InjectedScriptSource.js: (.): (): * inspector/Inspector.json: * inspector/InspectorRuntimeAgent.cpp: (WebCore::asBool): (WebCore::InspectorRuntimeAgent::evaluate): (WebCore::InspectorRuntimeAgent::callFunctionOn): * inspector/InspectorRuntimeAgent.h: * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype._completions.evaluated.getCompletions): (WebInspector.ConsoleView.prototype._completions.evaluated): (WebInspector.ConsoleView.prototype._completions.receivedPropertySet): (WebInspector.ConsoleView.prototype._completions): (WebInspector.ConsoleView.prototype.evalInInspectedWindow): * inspector/front-end/RemoteObject.js: (WebInspector.RemoteObject): (WebInspector.RemoteObject.prototype.callFunction): (WebInspector.RemoteObject.prototype.callFunctionJSON): * inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update): 2011-08-01 Mihnea Ovidenie BORDER attribute with the object tag, using percentage values not working. https://bugs.webkit.org/show_bug.cgi?id=65176 Reviewed by Hajime Morita. When border presentational attribute for object element has % in it, it should be parsed using HTML parser rules. Test: fast/borders/border-width-percent.html * html/HTMLElement.cpp: (WebCore::HTMLElement::parseBorderWidthAttribute): * html/HTMLElement.h: * html/HTMLImageElement.cpp: * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::parseMappedAttribute): 2011-08-01 Yuta Kitamura WebSocket: Receive URL and subprotocol in WebSocketChannel::connect() https://bugs.webkit.org/show_bug.cgi?id=65367 Reviewed by Kent Tamura. To implement multiple subprotocols support (bug 65247), WebSocket::connect() will need to validate the value of subprotocols after constructing WebSocketChannel, because the result depends on which WebSocket protocol is used, which is obtained from WebSocketChannel::useHixie76Protocol(). This means the subprotocol value will not be available at the time of WebSocketChannel construction. This change moves URL and subprotocol arguments in WebSocketChannel constructor to WebSocketChannel::connect(), which allows WebSocket::connect() function to check the subprotocol value before the actual connection is established. Relocating URL argument is technically not necessary, but seemed legitimate in terms of functional correspondence between WebSocket and WebSocketChannel (constructor versus connect()). No change in behavior, thus no new tests. * websockets/ThreadableWebSocketChannel.cpp: Remove "url" and "protocol" arguments from constructor and add them in connect(). (WebCore::ThreadableWebSocketChannel::create): * websockets/ThreadableWebSocketChannel.h: * websockets/WebSocket.cpp: (WebCore::WebSocket::connect): * websockets/WebSocketChannel.cpp: Same as ThreadableWebSocketChannel. (WebCore::WebSocketChannel::WebSocketChannel): (WebCore::WebSocketChannel::connect): InspectorInstrumentation::didCreateWebSocket() call was moved to connect() because it needs URL. This does not change behavior, because connect() is guaranteed to be called immediately after WebSocketChannel is constructed. * websockets/WebSocketChannel.h: (WebCore::WebSocketChannel::create): * websockets/WorkerThreadableWebSocketChannel.cpp: Same as ThreadableWebSocketChannel. (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel): (WebCore::WorkerThreadableWebSocketChannel::connect): (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer): (WebCore::WorkerThreadableWebSocketChannel::Peer::connect): (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel): (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge): (WebCore::WorkerThreadableWebSocketChannel::mainThreadConnect): (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect): * websockets/WorkerThreadableWebSocketChannel.h: (WebCore::WorkerThreadableWebSocketChannel::create): (WebCore::WorkerThreadableWebSocketChannel::Peer::create): (WebCore::WorkerThreadableWebSocketChannel::Bridge::create): 2011-08-01 Luke Macpherson Add iterator to CSSValueList https://bugs.webkit.org/show_bug.cgi?id=65297 Reviewed by Darin Adler. No new tests / refactoring only. * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::isLength): Add shorthand to determine if this primitive value is a length. * css/CSSStyleSelector.cpp: Use CSSValueListIterator throughout. (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::applyPageSizeProperty): (WebCore::CSSStyleSelector::createTransformOperations): * css/CSSValueList.cpp: (WebCore::CSSValueList::copy): Use itemWithoutBoundsCheck() instead of item(). * css/CSSValueList.h: Add CSSValueListIterator and CSSValueListInspector class definitions. (WebCore::CSSValueList::item) Provide inline definition of item. (WebCore::CSSValueListIterator::CSSValueListIterator): (WebCore::CSSValueListIterator::hasMore): Return true if there are more values to consume, including the current value. (WebCore::CSSValueListIterator::value): Return the value at the current position. (WebCore::CSSValueListIterator::next): Move the iterator forward to the next item. (WebCore::CSSValueListIterator::index): Return the current position in the list. (WebCore::CSSValueListInspector::item): Return the item at a given index. (WebCore::CSSValueListInspector::first): Return the first item in the list. (WebCore::CSSValueListInspector::second): Return the second item in the list. (WebCore::CSSValueListInspector::length): Return the size of the underlying list. 2011-08-01 Pavel Feldman Web Inspector: group scripts by folder in the scripts selector. https://bugs.webkit.org/show_bug.cgi?id=65321 Reviewed by Yury Semikhatsky. Test: inspector/debugger/scripts-sorting.html * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype._sourceFileAdded.get if): (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare): (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered): (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect): (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL): (WebInspector.ScriptsPanel.prototype.reset): (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName): 2011-07-28 Pavel Feldman Web Inspector: [protocol] methods where all parameters are optional should not require empty params object. https://bugs.webkit.org/show_bug.cgi?id=65331 Reviewed by Yury Semikhatsky. * inspector/CodeGeneratorInspector.pm: (generateBackendFunction): (generateArgumentGetters): 2011-08-01 Adam Barth application/json MIME type shouldn't cause warnings in tag, we don't realize that we've already consumed the "" from the input stream when we extracted the previous token. That causes the source tracker to be out-of-sync, triggering the incorrect view-source highlighting and this ASSERT. For now, let's just silence the assert while we work on Bug 62971. Test: fast/parser/attributes-on-close-script.html * html/parser/HTMLToken.h: (WebCore::HTMLToken::appendToAttributeName): (WebCore::AtomicHTMLToken::initializeAttributes): 2011-06-20 Andras Becsi Unreviewed build fix. [Qt][V8] Include missing UnusedParam.h. No new tests needed. * rendering/svg/SVGTextLayoutEngineSpacing.cpp: 2011-06-20 Andras Becsi Rubber-stamped by Csaba Osztrogonác. [Qt][V8] Remove non-existing headers from project file. No new tests needed. * WebCore.pro: Remove ChildThreadDOMData.h and MainThreadDOMData.h, since they have been already removed earlier from tree. 2011-06-20 Carlos Garcia Campos Reviewed by Xan Lopez. [GTK] Split libWebCore into two libWebCore and libWebCoreGtk https://bugs.webkit.org/show_bug.cgi?id=60539 libWebCore contains all the webcore files except the ones actually using gtk while libWebCoreGtk contains only the files using gtk. It allows us to build a common WebCore lib and two different gtk WebCore libs depending on the gtk version. In WeKit2 gtk2 is not supported, but the plugin process needs to be built using gtk2 because plugins like flash still use gtk2. For WebKit2, we build the common libWebCore and two libWebCoreGtk, one using gtk3 and the other one using gtk2. * GNUmakefile.am: * GNUmakefile.list.am: 2011-06-20 Mike Reed Reviewed by Stephen White. [Skia] remove repeated calls to setColor, which ignored global-alpha (previous setupPaintFor... already set the color+alpha) https://bugs.webkit.org/show_bug.cgi?id=62988 No new tests. removing redundant calls * platform/graphics/chromium/FontLinux.cpp: (WebCore::Font::drawGlyphs): 2011-06-19 Martin Robinson Reviewed by Xan Lopez. [GTK] ASSERTION FAILED: it != gFontDataCache->end() in FontCache.cpp:318 https://bugs.webkit.org/show_bug.cgi?id=62942 Fix the == operator overload of the FreeType FontPlatformData to properly make the distinction between the hash table deleted value and the hash table empty value. No new tests. This is covered by existing tests, which should no longer hit assertions. * platform/graphics/freetype/FontPlatformDataFreeType.cpp: (WebCore::FontPlatformData::operator==): Reorder the logic for determining if two FontPlatformData instances are equal. Do a pointer comparison on the Fontconfig patterns, instead of using FcPatternEqual. If the two Fontconfig patterns have different pointers they were created at different times and the overload should return false. 2011-06-20 Ilya Tikhonovsky Reviewed by Yury Semikhatsky. Web Inspector: It would be useful to be able to pause on element's style change. https://bugs.webkit.org/show_bug.cgi?id=62982 Current workaround is to use mutation events but it's awkward and doesn't compare _usability-wise_ to what could be implemented as native support in web inspector. In complex applications, being able to see which code causes element to change its style is indispensable. * inspector/InspectorDOMDebuggerAgent.cpp: (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr): * inspector/InspectorDOMDebuggerAgent.h: * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl): 2011-06-19 Mads Ager Reviewed by Adam Barth. [V8] Fix WebGL bindings for subarrays https://bugs.webkit.org/show_bug.cgi?id=62864 Mark WebGL subarrays as independent of other DOM objects in the V8 bindings. This allows us to clean them up independently which greatly improves performance. * bindings/v8/V8Proxy.h: (WebCore::toV8Independent): * bindings/v8/custom/V8ArrayBufferViewCustom.h: (WebCore::constructWebGLArrayWithArrayBufferArgument): (WebCore::constructWebGLArray): 2011-06-20 Yuta Kitamura Unreviewed build fix for Chromium Clang builders. * platform/graphics/FontFallbackList.h: Declare SVGTextRunRenderingContext as class, not struct. 2011-06-20 MORITA Hajime Unreviewed GTK build fix. This change touched the file to make the build happen. * dom/EventTarget.cpp: 2011-06-20 Nikolas Zimmermann Reviewed by Rob Buis. Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts https://bugs.webkit.org/show_bug.cgi?id=59085 font substitution doesn't work for HTML text using SVG fonts https://bugs.webkit.org/show_bug.cgi?id=17608 Selection rects are wrong for text with SVG fonts https://bugs.webkit.org/show_bug.cgi?id=25460 With @font-face, SVG fonts only work as primary, non-segmented https://bugs.webkit.org/show_bug.cgi?id=32227 When using SVG fonts with @font-face word-spacing and text-align: justify are not being honored https://bugs.webkit.org/show_bug.cgi?id=34236 SVG @font-face breaks text-overflow: ellipsis https://bugs.webkit.org/show_bug.cgi?id=36840 REGRESSION: SVG Font selection problems https://bugs.webkit.org/show_bug.cgi?id=41934 Tests: svg/custom/svg-fonts-fallback.xhtml (for bug 17608, extended the original test from Mark Ambachtsheer) svg/custom/svg-fonts-segmented.xhtml (for bug 32227) svg/custom/svg-fonts-word-spacing.html (for bug 34236, from Michael Lewis) svg/text/select-text-svgfont.html (for bug 25460/41934, from Emil Schutte) svg/text/text-overflow-ellipsis-svgfont.html (for 36840, from Emil Schutte) Rewrite the SVG Fonts support to fully integrate within the GlyphPage concept and the "simple" code path used to render platform fonts. That means the special logic for measuring text using SVG Fonts, calculating offset for positions, computing selection rects etc. is all gone now. There's no difference anymore between using a native font or a SVG Font, in terms of these operations. This makes text selection using SVG Fonts possible again. * features.pri: Temporarily turn of SVG Fonts for Qt, as long as QRawFont support is not available and the fast path is disabled. * page/DOMWindow.idl: Touched file to force Qt regenerating the bindings. * platform/graphics/Font.cpp: Remove SVG Font special cases, the simple code path now handles SVG Fonts as well. (WebCore::Font::drawText): (WebCore::Font::drawEmphasisMarks): (WebCore::Font::width): (WebCore::Font::selectionRectForText): (WebCore::Font::offsetForPosition): (WebCore::Font::codePath): * platform/graphics/Font.h: Pass TextRun to drawGlyphBuffer/drawEmphasisMarks. Add new glyphDataAndPageForCharacter() method which returns a pair std::pair, so we know the associated GlyphPage for a certain GlyphData object, which is needed to properly handle font fallback glyph matching for SVG Fonts.. (WebCore::Font::fontList): Add FontFallbackList accessor. * platform/graphics/FontFallbackList.h: Add getters/setters for glyphPageZero -- SVG Fonts support needs access to these objects from SVGTextRunRenderingContext. (WebCore::FontFallbackList::glyphPageZero): (WebCore::FontFallbackList::glyphPages): (WebCore::FontFallbackList::setGlyphPageZero): (WebCore::FontFallbackList::setGlyphPages): * platform/graphics/FontFastPath.cpp: (WebCore::Font::glyphDataForCharacter): Move implementation to glyphDataAndPageForCharacter(), and use that method from here. (WebCore::Font::glyphDataAndPageForCharacter): Does the same as before, just returns an additional GlyphPage* pointer. (WebCore::Font::getEmphasisMarkGlyphData): Remove SVG Fonts special case. (WebCore::Font::drawGlyphBuffer): Ditto. * platform/graphics/FontMetrics.h: (WebCore::scaleEmToUnits): Refactored scaleEmToUnits free function from SimpleFontDataMac/CGWin to share with SVGFontData/SVGTextRunRenderingContext. * platform/graphics/GlyphPageTreeNode.cpp: (WebCore::fill): Stop skipping SVG Fonts, they now also fill the GlyphPage using the glyphs defined in the SVG Font. * platform/graphics/SVGGlyph.h: s/isValid/isPartOfLigature/. Its usage has been changed. (WebCore::SVGGlyph::SVGGlyph): (WebCore::SVGGlyph::operator==): * platform/graphics/SimpleFontData.cpp: Change font size to be a float, not an int. (WebCore::SimpleFontData::SimpleFontData): * platform/graphics/SimpleFontData.h: Add new pure virtual methods to the AdditionalFontData interface, to be implemented in SVGFontData. (WebCore::SimpleFontData::widthForGlyph): Call widthForSVGGlyph, if we encounter a SVG glyph. * platform/graphics/TextRun.h: * platform/graphics/WidthIterator.cpp: (WebCore::WidthIterator::glyphDataForCharacter): (WebCore::WidthIterator::advance): * platform/graphics/WidthIterator.h: Store several new members needed for SVG Fonts support (last processed glyph name used for kerning pair lookup) and a map mapping each character of a text to its arabic-form (if needed, to perform SVG glyph selection for Arabic text). (WebCore::WidthIterator::run): (WebCore::WidthIterator::runWidthSoFar): (WebCore::WidthIterator::lastGlyphName): (WebCore::WidthIterator::setLastGlyphName): (WebCore::WidthIterator::arabicForms): * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Use new scaleEmToUnits free function from FontMetrics.h. * platform/graphics/mac/SimpleFontDataMac.mm: Ditto. * platform/graphics/win/SimpleFontDataCGWin.cpp: Ditto. * rendering/svg/SVGTextMetrics.cpp: (WebCore::SVGTextMetrics::SVGTextMetrics): (WebCore::constructTextRun): (WebCore::SVGTextMetrics::measureCharacterRange): * rendering/svg/SVGTextMetrics.h: * rendering/svg/SVGTextRunRenderingContext.cpp: Remove drawTextUsingSVGFont/floatWidthUsingSVGFont/selectionRectForTextUsingSVGFont/offsetForPositionForTextUsingSVGFont. (WebCore::firstParentRendererForNonTextNode): Don't assert node() exists, doesn't hold true for generated render objects. (WebCore::renderObjectFromRun): Renamed from referencingRenderObjectFromRun. (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont): Remove extra "extraCharsAvailable" parameter, now solves via TextRun::charactersLength(). (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method. (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): Main drawing method, this actually creates/renders Paths. (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Part 1/2 of SVG Glyph selection code. * rendering/svg/SVGTextRunRenderingContext.h: * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::hasValidGlyphElement): * svg/SVGAltGlyphElement.h: * svg/SVGFontData.cpp: (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method. (WebCore::SVGFontData::initializeFontData): Changed font size from int to float. (WebCore::SVGFontData::widthForSVGGlyph): Lookup a SVGGlyph from a Glyph using the glyph table in SVGFontElement and calculate its width. (WebCore::SVGFontData::applySVGGlyphSelection): Part 2/2 of SVG Glyph selection code. (WebCore::SVGFontData::fillSVGGlyphPage): Fill GlyphPage using glyphs defined in the SVG Font. * svg/SVGFontData.h: * svg/SVGFontElement.cpp: (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Enable ligature registration for the use within GlyphPage. (WebCore::SVGFontElement::ensureGlyphCache): * svg/SVGGlyphMap.h: (WebCore::SVGGlyphMap::addGlyphByUnicodeString): Remove setting isValid, it's not needed anymore and gone. * svg/svgtags.in: Surround vkern in ENABLE_SVG_FONTS block. 2011-06-19 MORITA Hajime Reviewed by Dimitri Glazkov. The internals object should have createShadowContentElement() https://bugs.webkit.org/show_bug.cgi?id=62432 This change: - added Internals::createShadowContentElement(), which creates, ShadowContentElement instance which includes all host children, - added Internals::elementRenderTreeAsText() to help content layout testing, and - Unabstracted ShadowContentElement by giving a default shouldInclude() implementation. Test: fast/dom/shadow/create-content-element.html * WebCore.exp.in: * dom/ShadowContentElement.cpp: (WebCore::ShadowContentElement::create): Added. (WebCore::ShadowContentElement::ShadowContentElement): (WebCore::ShadowContentElement::~ShadowContentElement): (WebCore::ShadowContentElement::shouldInclude): Gave a default implementation which always returns true. * dom/ShadowContentElement.h: * html/HTMLSummaryElement.cpp: (WebCore::SummaryContentElement::SummaryContentElement): * rendering/RenderTreeAsText.cpp: (WebCore::externalRepresentation): Factored out for supportin per-element render tree dump. * rendering/RenderTreeAsText.h: * testing/Internals.cpp: (WebCore::Internals::createShadowContentElement): Added. (WebCore::Internals::elementRenderTreeAsText): dded. * testing/Internals.h: * testing/Internals.idl: 2011-06-19 Keishi Hattori Reviewed by Kent Tamura. Clicking indeterminate checkbox should flip checkedness state https://bugs.webkit.org/show_bug.cgi?id=62262 Test: fast/forms/checkbox-click-indeterminate.html * html/CheckboxInputType.cpp: (WebCore::CheckboxInputType::willDispatchClick): Changed to flip checked flag when indeterminate. 2011-06-19 Adam Bergkvist Reviewed by Martin Robinson. [GTK] Enable Media Stream feature and make it default on https://bugs.webkit.org/show_bug.cgi?id=60394 * GNUmakefile.am: 2011-06-19 Una Sabovic Reviewed by Darin Adler. Optimization: avoid call to clearRect() when bgColor is valid when painting the root background in RenderBoxModelObject::paintFillLayerExtended https://bugs.webkit.org/show_bug.cgi?id=62908 When root layers base color is fully transparent backgroundRect was cleared before bgColor is applied. Instead of clearing the rect we apply CompositeCopy operation when painting the background color. No new tests. This is an optimization, it doesn't change any existing functionality. * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::fillRect): * platform/graphics/GraphicsContext.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintFillLayerExtended): 2011-06-19 Dirk Schulze Reviewed by Nikolas Zimmermann. SVGAnimatorFactory does not support SVGNumber https://bugs.webkit.org/show_bug.cgi?id=62938 Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368 This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGNumber. With the new animator for the With the new animator for SVGNumber we also support the scientific notation, and everything else that's supported by the SVGNumber parsing, removing the SVGAnimate* specific number parsing functionality. Moving the content of SVGAnimatedType header into its own cpp. Changed behavior of parseNumberFromString(). It checks if the String simply consits of a number now. parseNumberFromString() is using genericParseNumber() for parsing numbers. But this method just stops at the first char that does not belong to a number and returns true. I added a check if the current char pointer is at the last char of the String and return false if not. Tests: svg/animations/svgnumber-animation-1.html svg/animations/svgnumber-animation-2.html svg/animations/svgnumber-animation-3.html * CMakeLists.txt: Added new files to build system. * GNUmakefile.list.am: Ditto. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * svg/SVGAllInOne.cpp: Ditto. * svg/SVGAnimateElement.cpp: Use SVGAnimatedNumberAnimator for animations of SVGNumbers. (WebCore::SVGAnimateElement::SVGAnimateElement): (WebCore::SVGAnimateElement::calculateAnimatedValue): (WebCore::SVGAnimateElement::calculateFromAndToValues): (WebCore::SVGAnimateElement::calculateFromAndByValues): (WebCore::SVGAnimateElement::resetToBaseValue): (WebCore::SVGAnimateElement::applyResultsToTarget): (WebCore::SVGAnimateElement::calculateDistance): * svg/SVGAnimateElement.h: Remove floats for value storage. This is done by SVGAnimatedTypes now. * svg/SVGAnimatedNumber.cpp: Added. Animator for SVGNumbers. (WebCore::SVGAnimatedNumberAnimator::SVGAnimatedNumberAnimator): (WebCore::SVGAnimatedNumberAnimator::constructFromString): (WebCore::SVGAnimatedNumberAnimator::calculateFromAndToValues): (WebCore::SVGAnimatedNumberAnimator::calculateFromAndByValues): (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue): (WebCore::SVGAnimatedNumberAnimator::calculateDistance): * svg/SVGAnimatedNumber.h: (WebCore::SVGAnimatedNumberAnimator::~SVGAnimatedNumberAnimator): * svg/SVGAnimatedType.cpp: Added. Moved content from header to cpp. (WebCore::SVGAnimatedType::SVGAnimatedType): (WebCore::SVGAnimatedType::~SVGAnimatedType): (WebCore::SVGAnimatedType::createAngle): (WebCore::SVGAnimatedType::createLength): (WebCore::SVGAnimatedType::createNumber): (WebCore::SVGAnimatedType::angle): (WebCore::SVGAnimatedType::length): (WebCore::SVGAnimatedType::number): (WebCore::SVGAnimatedType::valueAsString): (WebCore::SVGAnimatedType::setValueAsString): * svg/SVGAnimatedType.h: Removed method create(). Allways call type specific create funtcions. * svg/SVGAnimatorFactory.h: (WebCore::SVGAnimatorFactory::create): * svg/SVGParserUtilities.cpp: (WebCore::parseNumberFromString): Check if String simply consits of a number. Return false otherwise. 2011-06-18 Dimitri Glazkov Reviewed by Darin Adler. Separate concerns of loading file icons and choosing files. https://bugs.webkit.org/show_bug.cgi?id=62931 Loading an icon and choosing files have similar async nature, but completely different lifetimes: FileChooser should only exist when we are actually attempting to choose a file, not anytime we need to render an input with a proper icon. This patch introduces FileIconLoader, a separate abstraction for loading an icon, and removes any notion of an icon from the FileChooser. Also, the loaded icon is now stored on the RenderFileUploadControl, which better matches its purpose. Refactoring, covered by existing tests. * CMakeLists.txt: Added FileIconLoader to build system. * GNUmakefile.list.am: Ditto. * WebCore.exp.in: Updated. * WebCore.gypi: Added FileIconLoader to build system. * WebCore.pro: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * loader/EmptyClients.h: Updated. (WebCore::EmptyChromeClient::loadIconForFiles): Renamed function to better reflect what it does. * page/Chrome.cpp: (WebCore::Chrome::loadIconForFiles): Ditto. * page/Chrome.h: Ditto. * page/ChromeClient.h: Ditto. * platform/FileChooser.cpp: (WebCore::FileChooser::FileChooser): Removed now-unnecessary bool. (WebCore::FileChooser::create): Removed the tangled web. (WebCore::FileChooser::clear): Removed icon-related code. (WebCore::FileChooser::chooseFiles): Ditto. * platform/FileChooser.h: * platform/FileIconLoader.cpp: Copied from Source/WebCore/platform/FileChooser.cpp. (WebCore::FileIconLoaderClient::~FileIconLoaderClient): Added. (WebCore::FileIconLoader::create): Added. (WebCore::FileIconLoader::disconnectClient): Added. (WebCore::FileIconLoader::notifyFinished): Added. (WebCore::FileIconLoader::FileIconLoader): Added. * platform/FileIconLoader.h: Copied from Source/WebCore/platform/FileChooser.cpp. * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): Added new member initializations. (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Added FileIconLoader disconnect.s (WebCore::RenderFileUploadControl::requestIcon): Added a helper. (WebCore::RenderFileUploadControl::valueChanged): Changed to request an icon load. (WebCore::RenderFileUploadControl::updateRendering): Added implementation of FileIconLoaderClient func. (WebCore::RenderFileUploadControl::updateFromElement): Added clearing of icon. (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use new member directly. (WebCore::RenderFileUploadControl::paintObject): Ditto. (WebCore::RenderFileUploadControl::fileTextValue): Ditto. * rendering/RenderFileUploadControl.h: Updated decls. 2011-06-19 Michael Saboff Reviewed by Darin Adler. Add notify handler to trigger MemoryPressureHandler in all builds https://bugs.webkit.org/show_bug.cgi?id=62679 Removed SIGUSR2 trigger and added a notify trigger for the MemoryPressureHandler. The notify trigger is enabled for all builds. No test added as only added new memory pressure trigger. * platform/mac/MemoryPressureHandlerMac.mm: (WebCore::MemoryPressureHandler::install): 2011-06-19 Robert Hogan Reviewed by Alexey Proskuryakov. [Qt] Qt Counterpart for http://trac.webkit.org/changeset/42078 https://bugs.webkit.org/show_bug.cgi?id=62514 * platform/network/qt/ResourceHandleQt.cpp: (WebCore::WebCoreSynchronousLoader::willSendRequest): 2011-06-18 Yufeng Shen Reviewed by Darin Fisher. Adding "force" filed to Touch Event https://bugs.webkit.org/show_bug.cgi?id=62766 * dom/Document.cpp: (WebCore::Document::createTouch): * dom/Document.h: * dom/Document.idl: * dom/Touch.cpp: (WebCore::Touch::Touch): * dom/Touch.h: (WebCore::Touch::create): (WebCore::Touch::webkitForce): * dom/Touch.idl: * page/EventHandler.cpp: (WebCore::EventHandler::handleTouchEvent): * platform/PlatformTouchPoint.h: (WebCore::PlatformTouchPoint::force): 2011-06-18 Jer Noble Reviewed by Darin Adler. Rename Document::setContainsFullScreenElementRecursively https://bugs.webkit.org/show_bug.cgi?id=62528 No new tests; no net change in functionality, so this is covered by existing tests. The name of setContainsFullScreenElementRecursively is confusing, since it doesn't actually use recursion, and it walks the ancestor tree instead of the descendent tree (as recursive might otherwise imply). Move the function into Element, turn it into a member function, and change the behavior so that the function operates on the called object's parents (as opposed to the object itself). * dom/Element.h: * dom/Element.cpp: (WebCore::parentCrossingFrameBoundaries): Added. (WebCore::Element::setContainsFullScreenElementOnAncestorsCrossingFrameBoundaries): Renamed and moved from Document. (WebCore::Element::willRemove): Use the newly renamed function. (WebCore::Element::insertedIntoTree): Ditto. * dom/Document.h: * dom/Document.cpp: (WebCore::Document::webkitWillEnterFullScreenForElement): Ditto. (WebCore::Document::webkitWillExitFullScreenForElement): Ditto. (WebCore::Document::fullScreenElementRemoved): Ditto. 2011-06-18 Alice Boxhall Reviewed by Chris Fleizach. Accessibility description for an element should make use of aria-labelledby. https://bugs.webkit.org/show_bug.cgi?id=61995 Tests: accessibility/aria-labelledby-overrides-aria-label.html * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::title): Don't return value from aria-labelledby. (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription): Return value from aria-labelledby in preference to value from aria-label. 2011-06-18 Christoph Mende Reviewed by Darin Adler. compilation fails with libpng-1.5 https://bugs.webkit.org/show_bug.cgi?id=61738 * platform/image-encoders/skia/PNGImageEncoder.cpp: (WebCore::writeOutput): Use getter function instead of direct access 2011-06-18 Jeremy Moskovich Reviewed by Eric Seidel. Set text-align:-webkit-match-parent for li elements in the default style sheet. https://bugs.webkit.org/show_bug.cgi?id=57232 Test: fast/css/list-item-text-align.html * css/html.css: (li): Specify text-align:-webkit-match-parent . 2011-06-18 Holger Hans Peter Freyther Reviewed by Brent Fulgham. [misc] JSC/wtf/text/*.h should not be included via #include "" https://bugs.webkit.org/show_bug.cgi?id=60836 Adam Barth pointed out that one should not include files from JavaScriptCore/wtf/text using #include "File.h". This change is addressing it. * CMakeListsEfl.txt: Remove JavaScriptCore/wtf/text. * CMakeListsWinCE.txt: Remove JavaScriptCore/wtf/text. * platform/graphics/freetype/FontCacheFreeType.cpp: Change CString.h include. * platform/graphics/pango/FontCachePango.cpp: Change CString.h include. * platform/graphics/wx/FontPlatformData.h: Change StringImpl.h include. * platform/network/soup/ResourceHandleSoup.cpp: Change CString.h include. * platform/network/soup/SocketStreamHandleSoup.cpp: Change CString.h include. 2011-06-18 Sam Weinig Reviewed by Darin Adler. REGRESSION (r63854-63958): placeholder not shown for number inputs https://bugs.webkit.org/show_bug.cgi?id=61095 Refactor HTMLInputElement supportsPlaceholder support to delegate to the InputType. Make BaseTextInputType and NumberInputType return true, matching the current HTML5 spec. * html/BaseTextInputType.cpp: (WebCore::BaseTextInputType::supportsPlaceholder): * html/BaseTextInputType.h: Add override implementation of supportsPlaceholder that returns true. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::supportsPlaceholder): Delegate to the InputType. * html/InputType.cpp: (WebCore::InputType::supportsPlaceholder): * html/InputType.h: Add base implementation of supportsPlaceholder that returns false. * html/NumberInputType.cpp: (WebCore::NumberInputType::supportsPlaceholder): * html/NumberInputType.h: Add override implementation of supportsPlaceholder that returns true. 2011-06-18 Sheriff Bot Unreviewed, rolling out r89154. http://trac.webkit.org/changeset/89154 https://bugs.webkit.org/show_bug.cgi?id=62926 It broke debug build on Qt (Requested by Ossy_weekend on #webkit). * platform/network/qt/ResourceHandleQt.cpp: 2011-06-18 Sheriff Bot Unreviewed, rolling out r89189. http://trac.webkit.org/changeset/89189 https://bugs.webkit.org/show_bug.cgi?id=62925 It broke Qt build (Requested by Ossy_weekend on #webkit). * bindings/scripts/test/TestInterface.idl: * bindings/scripts/test/TestSerializedScriptValueInterface.idl: * css/CSSCharsetRule.idl: * css/CSSFontFaceRule.idl: * css/CSSImportRule.idl: * css/CSSPageRule.idl: * css/CSSRule.idl: * css/CSSStyleRule.idl: * css/CSSUnknownRule.idl: * css/CSSValue.idl: * css/Counter.idl: * css/RGBColor.idl: * css/Rect.idl: * css/StyleSheet.idl: * css/WebKitCSSKeyframeRule.idl: * css/WebKitCSSTransformValue.idl: * dom/Attr.idl: * dom/CDATASection.idl: * dom/ClientRect.idl: * dom/Comment.idl: * dom/DOMCoreException.idl: * dom/DOMStringMap.idl: * dom/DocumentType.idl: * dom/Entity.idl: * dom/EntityReference.idl: * dom/EventException.idl: * dom/GeneratedStream.idl: * dom/MessageChannel.idl: * dom/NodeIterator.idl: * dom/Notation.idl: * dom/ProcessingInstruction.idl: * dom/RangeException.idl: * dom/Touch.idl: * dom/TreeWalker.idl: * fileapi/DOMFileSystem.idl: * fileapi/DOMFileSystemSync.idl: * fileapi/DirectoryReaderSync.idl: * fileapi/File.idl: * fileapi/FileEntrySync.idl: * fileapi/FileError.idl: * fileapi/FileException.idl: * fileapi/Metadata.idl: * fileapi/OperationNotAllowedException.idl: * fileapi/WebKitFlags.idl: * html/DOMSettableTokenList.idl: * html/HTMLAppletElement.idl: * html/HTMLAreaElement.idl: * html/HTMLBRElement.idl: * html/HTMLBaseElement.idl: * html/HTMLBaseFontElement.idl: * html/HTMLBlockquoteElement.idl: * html/HTMLBodyElement.idl: * html/HTMLDListElement.idl: * html/HTMLDataListElement.idl: * html/HTMLDetailsElement.idl: * html/HTMLDirectoryElement.idl: * html/HTMLEmbedElement.idl: * html/HTMLFontElement.idl: * html/HTMLFormElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameSetElement.idl: * html/HTMLHRElement.idl: * html/HTMLHeadElement.idl: * html/HTMLHeadingElement.idl: * html/HTMLHtmlElement.idl: * html/HTMLIFrameElement.idl: * html/HTMLImageElement.idl: * html/HTMLIsIndexElement.idl: * html/HTMLLIElement.idl: * html/HTMLLabelElement.idl: * html/HTMLLegendElement.idl: * html/HTMLLinkElement.idl: * html/HTMLMapElement.idl: * html/HTMLMarqueeElement.idl: * html/HTMLMenuElement.idl: * html/HTMLMetaElement.idl: * html/HTMLMeterElement.idl: * html/HTMLModElement.idl: * html/HTMLOListElement.idl: * html/HTMLOptGroupElement.idl: * html/HTMLOptionElement.idl: * html/HTMLParagraphElement.idl: * html/HTMLParamElement.idl: * html/HTMLPreElement.idl: * html/HTMLProgressElement.idl: * html/HTMLQuoteElement.idl: * html/HTMLScriptElement.idl: * html/HTMLSourceElement.idl: * html/HTMLStyleElement.idl: * html/HTMLTableCaptionElement.idl: * html/HTMLTableCellElement.idl: * html/HTMLTableColElement.idl: * html/HTMLTitleElement.idl: * html/HTMLTrackElement.idl: * html/HTMLUListElement.idl: * html/ImageData.idl: * html/MediaError.idl: * html/SpellcheckRange.idl: * html/TextMetrics.idl: * html/ValidityState.idl: * html/VoidCallback.idl: * html/canvas/ArrayBuffer.idl: * html/canvas/ArrayBufferView.idl: * html/canvas/CanvasPattern.idl: * html/canvas/CanvasPixelArray.idl: * html/canvas/CanvasRenderingContext.idl: * html/canvas/DataView.idl: * html/canvas/OESStandardDerivatives.idl: * html/canvas/OESTextureFloat.idl: * html/canvas/WebGLActiveInfo.idl: * html/canvas/WebGLBuffer.idl: * html/canvas/WebGLContextAttributes.idl: * html/canvas/WebGLFramebuffer.idl: * html/canvas/WebGLProgram.idl: * html/canvas/WebGLRenderbuffer.idl: * html/canvas/WebGLShader.idl: * html/canvas/WebGLTexture.idl: * html/canvas/WebGLUniformLocation.idl: * html/canvas/WebGLVertexArrayObjectOES.idl: * html/canvas/WebKitLoseContext.idl: * inspector/ScriptProfile.idl: * inspector/ScriptProfileNode.idl: * page/AbstractView.idl: * page/BarInfo.idl: * page/Coordinates.idl: * page/Geoposition.idl: * page/MemoryInfo.idl: * page/NavigatorUserMediaError.idl: * page/Performance.idl: * page/PerformanceNavigation.idl: * page/PerformanceTiming.idl: * page/PositionError.idl: * page/Screen.idl: * page/SpeechInputEvent.idl: * page/SpeechInputResult.idl: * page/WebKitAnimation.idl: * page/WebKitPoint.idl: * page/WorkerNavigator.idl: * plugins/DOMMimeType.idl: * storage/Database.idl: * storage/DatabaseSync.idl: * storage/IDBAny.idl: * storage/IDBCursorWithValue.idl: * storage/IDBDatabaseError.idl: * storage/IDBDatabaseException.idl: * storage/IDBKey.idl: * storage/IDBVersionChangeEvent.idl: * storage/IDBVersionChangeRequest.idl: * storage/SQLError.idl: * storage/SQLException.idl: * storage/SQLResultSet.idl: * svg/SVGAElement.idl: * svg/SVGAltGlyphElement.idl: * svg/SVGAngle.idl: * svg/SVGAnimateColorElement.idl: * svg/SVGAnimateElement.idl: * svg/SVGAnimateMotionElement.idl: * svg/SVGAnimateTransformElement.idl: * svg/SVGAnimatedAngle.idl: * svg/SVGAnimatedBoolean.idl: * svg/SVGAnimatedEnumeration.idl: * svg/SVGAnimatedInteger.idl: * svg/SVGAnimatedLength.idl: * svg/SVGAnimatedLengthList.idl: * svg/SVGAnimatedNumber.idl: * svg/SVGAnimatedNumberList.idl: * svg/SVGAnimatedPreserveAspectRatio.idl: * svg/SVGAnimatedRect.idl: * svg/SVGAnimatedString.idl: * svg/SVGAnimatedTransformList.idl: * svg/SVGCircleElement.idl: * svg/SVGClipPathElement.idl: * svg/SVGColor.idl: * svg/SVGComponentTransferFunctionElement.idl: * svg/SVGCursorElement.idl: * svg/SVGDefsElement.idl: * svg/SVGDescElement.idl: * svg/SVGElement.idl: * svg/SVGEllipseElement.idl: * svg/SVGExternalResourcesRequired.idl: * svg/SVGFEBlendElement.idl: * svg/SVGFEColorMatrixElement.idl: * svg/SVGFEComponentTransferElement.idl: * svg/SVGFECompositeElement.idl: * svg/SVGFEConvolveMatrixElement.idl: * svg/SVGFEDiffuseLightingElement.idl: * svg/SVGFEDisplacementMapElement.idl: * svg/SVGFEDistantLightElement.idl: * svg/SVGFEFloodElement.idl: * svg/SVGFEFuncAElement.idl: * svg/SVGFEFuncBElement.idl: * svg/SVGFEFuncGElement.idl: * svg/SVGFEFuncRElement.idl: * svg/SVGFEImageElement.idl: * svg/SVGFEMergeElement.idl: * svg/SVGFEMergeNodeElement.idl: * svg/SVGFEOffsetElement.idl: * svg/SVGFEPointLightElement.idl: * svg/SVGFESpecularLightingElement.idl: * svg/SVGFESpotLightElement.idl: * svg/SVGFETileElement.idl: * svg/SVGFETurbulenceElement.idl: * svg/SVGFilterPrimitiveStandardAttributes.idl: * svg/SVGFitToViewBox.idl: * svg/SVGFontElement.idl: * svg/SVGFontFaceElement.idl: * svg/SVGFontFaceFormatElement.idl: * svg/SVGFontFaceNameElement.idl: * svg/SVGFontFaceSrcElement.idl: * svg/SVGFontFaceUriElement.idl: * svg/SVGForeignObjectElement.idl: * svg/SVGGElement.idl: * svg/SVGGlyphElement.idl: * svg/SVGGradientElement.idl: * svg/SVGHKernElement.idl: * svg/SVGImageElement.idl: * svg/SVGLangSpace.idl: * svg/SVGLength.idl: * svg/SVGLengthList.idl: * svg/SVGLineElement.idl: * svg/SVGLinearGradientElement.idl: * svg/SVGMPathElement.idl: * svg/SVGMaskElement.idl: * svg/SVGMatrix.idl: * svg/SVGMetadataElement.idl: * svg/SVGMissingGlyphElement.idl: * svg/SVGNumber.idl: * svg/SVGNumberList.idl: * svg/SVGPaint.idl: * svg/SVGPathSeg.idl: * svg/SVGPathSegArcAbs.idl: * svg/SVGPathSegArcRel.idl: * svg/SVGPathSegClosePath.idl: * svg/SVGPathSegCurvetoCubicAbs.idl: * svg/SVGPathSegCurvetoCubicRel.idl: * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: * svg/SVGPathSegCurvetoCubicSmoothRel.idl: * svg/SVGPathSegCurvetoQuadraticAbs.idl: * svg/SVGPathSegCurvetoQuadraticRel.idl: * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: * svg/SVGPathSegLinetoAbs.idl: * svg/SVGPathSegLinetoHorizontalAbs.idl: * svg/SVGPathSegLinetoHorizontalRel.idl: * svg/SVGPathSegLinetoRel.idl: * svg/SVGPathSegLinetoVerticalAbs.idl: * svg/SVGPathSegLinetoVerticalRel.idl: * svg/SVGPathSegList.idl: * svg/SVGPathSegMovetoAbs.idl: * svg/SVGPathSegMovetoRel.idl: * svg/SVGPatternElement.idl: * svg/SVGPoint.idl: * svg/SVGPointList.idl: * svg/SVGPolygonElement.idl: * svg/SVGPolylineElement.idl: * svg/SVGPreserveAspectRatio.idl: * svg/SVGRadialGradientElement.idl: * svg/SVGRect.idl: * svg/SVGRectElement.idl: * svg/SVGRenderingIntent.idl: * svg/SVGScriptElement.idl: * svg/SVGSetElement.idl: * svg/SVGStopElement.idl: * svg/SVGStringList.idl: * svg/SVGSwitchElement.idl: * svg/SVGSymbolElement.idl: * svg/SVGTRefElement.idl: * svg/SVGTSpanElement.idl: * svg/SVGTextElement.idl: * svg/SVGTextPathElement.idl: * svg/SVGTextPositioningElement.idl: * svg/SVGTitleElement.idl: * svg/SVGTransform.idl: * svg/SVGTransformList.idl: * svg/SVGTransformable.idl: * svg/SVGURIReference.idl: * svg/SVGUnitTypes.idl: * svg/SVGUseElement.idl: * svg/SVGVKernElement.idl: * svg/SVGViewElement.idl: * svg/SVGViewSpec.idl: * svg/SVGZoomAndPan.idl: * svg/SVGZoomEvent.idl: * testing/Internals.idl: * webaudio/AudioChannelMerger.idl: * webaudio/AudioChannelSplitter.idl: * webaudio/AudioDestinationNode.idl: * webaudio/AudioGain.idl: * webaudio/AudioGainNode.idl: * webaudio/AudioProcessingEvent.idl: * webaudio/AudioSourceNode.idl: * webaudio/BiquadFilterNode.idl: * webaudio/ConvolverNode.idl: * webaudio/DelayNode.idl: * webaudio/DynamicsCompressorNode.idl: * webaudio/HighPass2FilterNode.idl: * webaudio/JavaScriptAudioNode.idl: * webaudio/LowPass2FilterNode.idl: * webaudio/OfflineAudioCompletionEvent.idl: * workers/SharedWorker.idl: * workers/SharedWorkerContext.idl: * workers/WorkerLocation.idl: * xml/XMLHttpRequestException.idl: * xml/XMLHttpRequestProgressEvent.idl: * xml/XPathException.idl: 2011-06-17 Mark Pilgrim Reviewed by Darin Adler. Remove LegacyDefaultOptionalArguments flag from IDL files where it would not change behavior https://bugs.webkit.org/show_bug.cgi?id=62904 After bug 62750, there are many IDL files that contain the new LegacyDefaultOptionalArguments flag that don't actually need it. Some examples: - the IDL file contains no functions - the IDL file contains only functions with no arguments - the IDL file contains functions, *all* of which use the [RequiresAllArguments=raise] extended attribute This patch simplifies such IDL files by removing the LegacyDefaultOptionalArguments flag and (if needed) removing the [RequiresAllArguments=raise] extended attribute from each function declaration. This patch does not make any required arguments optional or any optional arguments required. It changes no behavior at all. No new tests needed, all existing tests pass. * bindings/scripts/test/TestInterface.idl: * bindings/scripts/test/TestSerializedScriptValueInterface.idl: * css/CSSCharsetRule.idl: * css/CSSFontFaceRule.idl: * css/CSSImportRule.idl: * css/CSSPageRule.idl: * css/CSSRule.idl: * css/CSSStyleRule.idl: * css/CSSUnknownRule.idl: * css/CSSValue.idl: * css/Counter.idl: * css/RGBColor.idl: * css/Rect.idl: * css/StyleSheet.idl: * css/WebKitCSSKeyframeRule.idl: * css/WebKitCSSTransformValue.idl: * dom/Attr.idl: * dom/CDATASection.idl: * dom/ClientRect.idl: * dom/Comment.idl: * dom/DOMCoreException.idl: * dom/DOMStringMap.idl: * dom/DocumentType.idl: * dom/Entity.idl: * dom/EntityReference.idl: * dom/EventException.idl: * dom/GeneratedStream.idl: * dom/MessageChannel.idl: * dom/NodeIterator.idl: * dom/Notation.idl: * dom/ProcessingInstruction.idl: * dom/RangeException.idl: * dom/Touch.idl: * dom/TreeWalker.idl: * fileapi/DOMFileSystem.idl: * fileapi/DOMFileSystemSync.idl: * fileapi/DirectoryReaderSync.idl: * fileapi/File.idl: * fileapi/FileEntrySync.idl: * fileapi/FileError.idl: * fileapi/FileException.idl: * fileapi/Metadata.idl: * fileapi/OperationNotAllowedException.idl: * fileapi/WebKitFlags.idl: * html/DOMSettableTokenList.idl: * html/HTMLAppletElement.idl: * html/HTMLAreaElement.idl: * html/HTMLBRElement.idl: * html/HTMLBaseElement.idl: * html/HTMLBaseFontElement.idl: * html/HTMLBlockquoteElement.idl: * html/HTMLBodyElement.idl: * html/HTMLDListElement.idl: * html/HTMLDataListElement.idl: * html/HTMLDetailsElement.idl: * html/HTMLDirectoryElement.idl: * html/HTMLEmbedElement.idl: * html/HTMLFontElement.idl: * html/HTMLFormElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameSetElement.idl: * html/HTMLHRElement.idl: * html/HTMLHeadElement.idl: * html/HTMLHeadingElement.idl: * html/HTMLHtmlElement.idl: * html/HTMLIFrameElement.idl: * html/HTMLImageElement.idl: * html/HTMLIsIndexElement.idl: * html/HTMLLIElement.idl: * html/HTMLLabelElement.idl: * html/HTMLLegendElement.idl: * html/HTMLLinkElement.idl: * html/HTMLMapElement.idl: * html/HTMLMarqueeElement.idl: * html/HTMLMenuElement.idl: * html/HTMLMetaElement.idl: * html/HTMLMeterElement.idl: * html/HTMLModElement.idl: * html/HTMLOListElement.idl: * html/HTMLOptGroupElement.idl: * html/HTMLOptionElement.idl: * html/HTMLParagraphElement.idl: * html/HTMLParamElement.idl: * html/HTMLPreElement.idl: * html/HTMLProgressElement.idl: * html/HTMLQuoteElement.idl: * html/HTMLScriptElement.idl: * html/HTMLSourceElement.idl: * html/HTMLStyleElement.idl: * html/HTMLTableCaptionElement.idl: * html/HTMLTableCellElement.idl: * html/HTMLTableColElement.idl: * html/HTMLTitleElement.idl: * html/HTMLTrackElement.idl: * html/HTMLUListElement.idl: * html/ImageData.idl: * html/MediaError.idl: * html/SpellcheckRange.idl: * html/TextMetrics.idl: * html/ValidityState.idl: * html/VoidCallback.idl: * html/canvas/ArrayBuffer.idl: * html/canvas/ArrayBufferView.idl: * html/canvas/CanvasPattern.idl: * html/canvas/CanvasPixelArray.idl: * html/canvas/CanvasRenderingContext.idl: * html/canvas/DataView.idl: * html/canvas/OESStandardDerivatives.idl: * html/canvas/OESTextureFloat.idl: * html/canvas/WebGLActiveInfo.idl: * html/canvas/WebGLBuffer.idl: * html/canvas/WebGLContextAttributes.idl: * html/canvas/WebGLFramebuffer.idl: * html/canvas/WebGLProgram.idl: * html/canvas/WebGLRenderbuffer.idl: * html/canvas/WebGLShader.idl: * html/canvas/WebGLTexture.idl: * html/canvas/WebGLUniformLocation.idl: * html/canvas/WebGLVertexArrayObjectOES.idl: * html/canvas/WebKitLoseContext.idl: * inspector/ScriptProfile.idl: * inspector/ScriptProfileNode.idl: * page/AbstractView.idl: * page/BarInfo.idl: * page/Coordinates.idl: * page/Geoposition.idl: * page/MemoryInfo.idl: * page/NavigatorUserMediaError.idl: * page/Performance.idl: * page/PerformanceNavigation.idl: * page/PerformanceTiming.idl: * page/PositionError.idl: * page/Screen.idl: * page/SpeechInputEvent.idl: * page/SpeechInputResult.idl: * page/WebKitAnimation.idl: * page/WebKitPoint.idl: * page/WorkerNavigator.idl: * plugins/DOMMimeType.idl: * storage/Database.idl: * storage/DatabaseSync.idl: * storage/IDBAny.idl: * storage/IDBCursorWithValue.idl: * storage/IDBDatabaseError.idl: * storage/IDBDatabaseException.idl: * storage/IDBKey.idl: * storage/IDBVersionChangeEvent.idl: * storage/IDBVersionChangeRequest.idl: * storage/SQLError.idl: * storage/SQLException.idl: * storage/SQLResultSet.idl: * svg/SVGAElement.idl: * svg/SVGAltGlyphElement.idl: * svg/SVGAngle.idl: * svg/SVGAnimateColorElement.idl: * svg/SVGAnimateElement.idl: * svg/SVGAnimateMotionElement.idl: * svg/SVGAnimateTransformElement.idl: * svg/SVGAnimatedAngle.idl: * svg/SVGAnimatedBoolean.idl: * svg/SVGAnimatedEnumeration.idl: * svg/SVGAnimatedInteger.idl: * svg/SVGAnimatedLength.idl: * svg/SVGAnimatedLengthList.idl: * svg/SVGAnimatedNumber.idl: * svg/SVGAnimatedNumberList.idl: * svg/SVGAnimatedPreserveAspectRatio.idl: * svg/SVGAnimatedRect.idl: * svg/SVGAnimatedString.idl: * svg/SVGAnimatedTransformList.idl: * svg/SVGCircleElement.idl: * svg/SVGClipPathElement.idl: * svg/SVGColor.idl: * svg/SVGComponentTransferFunctionElement.idl: * svg/SVGCursorElement.idl: * svg/SVGDefsElement.idl: * svg/SVGDescElement.idl: * svg/SVGElement.idl: * svg/SVGEllipseElement.idl: * svg/SVGExternalResourcesRequired.idl: * svg/SVGFEBlendElement.idl: * svg/SVGFEColorMatrixElement.idl: * svg/SVGFEComponentTransferElement.idl: * svg/SVGFECompositeElement.idl: * svg/SVGFEConvolveMatrixElement.idl: * svg/SVGFEDiffuseLightingElement.idl: * svg/SVGFEDisplacementMapElement.idl: * svg/SVGFEDistantLightElement.idl: * svg/SVGFEFloodElement.idl: * svg/SVGFEFuncAElement.idl: * svg/SVGFEFuncBElement.idl: * svg/SVGFEFuncGElement.idl: * svg/SVGFEFuncRElement.idl: * svg/SVGFEImageElement.idl: * svg/SVGFEMergeElement.idl: * svg/SVGFEMergeNodeElement.idl: * svg/SVGFEOffsetElement.idl: * svg/SVGFEPointLightElement.idl: * svg/SVGFESpecularLightingElement.idl: * svg/SVGFESpotLightElement.idl: * svg/SVGFETileElement.idl: * svg/SVGFETurbulenceElement.idl: * svg/SVGFilterPrimitiveStandardAttributes.idl: * svg/SVGFitToViewBox.idl: * svg/SVGFontElement.idl: * svg/SVGFontFaceElement.idl: * svg/SVGFontFaceFormatElement.idl: * svg/SVGFontFaceNameElement.idl: * svg/SVGFontFaceSrcElement.idl: * svg/SVGFontFaceUriElement.idl: * svg/SVGForeignObjectElement.idl: * svg/SVGGElement.idl: * svg/SVGGlyphElement.idl: * svg/SVGGradientElement.idl: * svg/SVGHKernElement.idl: * svg/SVGImageElement.idl: * svg/SVGLangSpace.idl: * svg/SVGLength.idl: * svg/SVGLengthList.idl: * svg/SVGLineElement.idl: * svg/SVGLinearGradientElement.idl: * svg/SVGMPathElement.idl: * svg/SVGMaskElement.idl: * svg/SVGMatrix.idl: * svg/SVGMetadataElement.idl: * svg/SVGMissingGlyphElement.idl: * svg/SVGNumber.idl: * svg/SVGNumberList.idl: * svg/SVGPaint.idl: * svg/SVGPathSeg.idl: * svg/SVGPathSegArcAbs.idl: * svg/SVGPathSegArcRel.idl: * svg/SVGPathSegClosePath.idl: * svg/SVGPathSegCurvetoCubicAbs.idl: * svg/SVGPathSegCurvetoCubicRel.idl: * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: * svg/SVGPathSegCurvetoCubicSmoothRel.idl: * svg/SVGPathSegCurvetoQuadraticAbs.idl: * svg/SVGPathSegCurvetoQuadraticRel.idl: * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: * svg/SVGPathSegLinetoAbs.idl: * svg/SVGPathSegLinetoHorizontalAbs.idl: * svg/SVGPathSegLinetoHorizontalRel.idl: * svg/SVGPathSegLinetoRel.idl: * svg/SVGPathSegLinetoVerticalAbs.idl: * svg/SVGPathSegLinetoVerticalRel.idl: * svg/SVGPathSegList.idl: * svg/SVGPathSegMovetoAbs.idl: * svg/SVGPathSegMovetoRel.idl: * svg/SVGPatternElement.idl: * svg/SVGPoint.idl: * svg/SVGPointList.idl: * svg/SVGPolygonElement.idl: * svg/SVGPolylineElement.idl: * svg/SVGPreserveAspectRatio.idl: * svg/SVGRadialGradientElement.idl: * svg/SVGRect.idl: * svg/SVGRectElement.idl: * svg/SVGRenderingIntent.idl: * svg/SVGScriptElement.idl: * svg/SVGSetElement.idl: * svg/SVGStopElement.idl: * svg/SVGStringList.idl: * svg/SVGSwitchElement.idl: * svg/SVGSymbolElement.idl: * svg/SVGTRefElement.idl: * svg/SVGTSpanElement.idl: * svg/SVGTextElement.idl: * svg/SVGTextPathElement.idl: * svg/SVGTextPositioningElement.idl: * svg/SVGTitleElement.idl: * svg/SVGTransform.idl: * svg/SVGTransformList.idl: * svg/SVGTransformable.idl: * svg/SVGURIReference.idl: * svg/SVGUnitTypes.idl: * svg/SVGUseElement.idl: * svg/SVGVKernElement.idl: * svg/SVGViewElement.idl: * svg/SVGViewSpec.idl: * svg/SVGZoomAndPan.idl: * svg/SVGZoomEvent.idl: * testing/Internals.idl: * webaudio/AudioChannelMerger.idl: * webaudio/AudioChannelSplitter.idl: * webaudio/AudioDestinationNode.idl: * webaudio/AudioGain.idl: * webaudio/AudioGainNode.idl: * webaudio/AudioProcessingEvent.idl: * webaudio/AudioSourceNode.idl: * webaudio/BiquadFilterNode.idl: * webaudio/ConvolverNode.idl: * webaudio/DelayNode.idl: * webaudio/DynamicsCompressorNode.idl: * webaudio/HighPass2FilterNode.idl: * webaudio/JavaScriptAudioNode.idl: * webaudio/LowPass2FilterNode.idl: * webaudio/OfflineAudioCompletionEvent.idl: * workers/SharedWorker.idl: * workers/SharedWorkerContext.idl: * workers/WorkerLocation.idl: * xml/XMLHttpRequestException.idl: * xml/XMLHttpRequestProgressEvent.idl: * xml/XPathException.idl: 2011-06-17 Dirk Schulze Reviewed by Rob Buis. SVGAnimation should use direct unit animation for SVGAngle https://bugs.webkit.org/show_bug.cgi?id=62807 Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368 This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAngle. We can animate the SVG primitive datatype SVGAngle with different unit types now. Removed number and unit parser from SVGAnimateElement. This is not needed anymore. Tests: svg/animations/svgangle-animation-deg-to-grad.html svg/animations/svgangle-animation-deg-to-rad.html svg/animations/svgangle-animation-grad-to-deg.html svg/animations/svgangle-animation-grad-to-rad.html svg/animations/svgangle-animation-rad-to-deg.html svg/animations/svgangle-animation-rad-to-grad.html * CMakeLists.txt: Added SVGAnimatedAngle.cpp. * GNUmakefile.list.am: Ditto. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * svg/SVGAllInOne.cpp: Ditto. * svg/SVGAnimateElement.cpp: Make use of SVGAnimator for AnimatedAngle. (WebCore::SVGAnimateElement::SVGAnimateElement): (WebCore::SVGAnimateElement::determineAnimatedAttributeType): Ditto. (WebCore::SVGAnimateElement::calculateAnimatedValue): Ditto. (WebCore::SVGAnimateElement::calculateFromAndToValues): Ditto. (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto. (WebCore::SVGAnimateElement::resetToBaseValue): Ditto. (WebCore::SVGAnimateElement::applyResultsToTarget): Ditto. (WebCore::SVGAnimateElement::calculateDistance): Ditto. * svg/SVGAnimateElement.h: * svg/SVGAnimatedAngle.cpp: Added. Added SVGAnimatedAngleAnimator for animation of SVGAngles. (WebCore::SVGAnimatedAngleAnimator::SVGAnimatedAngleAnimator): (WebCore::sharedSVGAngle): (WebCore::SVGAnimatedAngleAnimator::constructFromString): (WebCore::SVGAnimatedAngleAnimator::calculateFromAndToValues): (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues): (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue): (WebCore::SVGAnimatedAngleAnimator::calculateDistance): * svg/SVGAnimatedAngle.h: (WebCore::SVGAnimatedAngleAnimator::~SVGAnimatedAngleAnimator): * svg/SVGAnimatedLength.cpp: (WebCore::sharedSVGLength): Use an ExceptionCode for SVGLength::setValueAsString. * svg/SVGAnimatedType.h: (WebCore::SVGAnimatedType::create): (WebCore::SVGAnimatedType::createAngle): (WebCore::SVGAnimatedType::createLength): (WebCore::SVGAnimatedType::~SVGAnimatedType): (WebCore::SVGAnimatedType::angle): (WebCore::SVGAnimatedType::valueAsString): (WebCore::SVGAnimatedType::setValueAsString): (WebCore::SVGAnimatedType::SVGAnimatedType): * svg/SVGAnimatorFactory.h: (WebCore::SVGAnimatorFactory::create): * svg/SVGLength.cpp: (WebCore::SVGLength::setValueAsString): Added an ExceptionCode for consistency reasons and as preparation for future error handling. * svg/SVGLength.h: * svg/SVGParserUtilities.cpp: (WebCore::parseNumberFromString): Added number parser for String objects. * svg/SVGParserUtilities.h: 2011-06-17 Anna Cavender Reviewed by Eric Carlson. Adding initial interfaces and stubs for track https://bugs.webkit.org/show_bug.cgi?id=60379 This marks the first patch of a series to implement out-of-band support in WebKit. This patch adds some of the core header files and their corresponding stub .cpp files. No new tests because feature is hidden behind VIDEO_TRACK feature define, which is turned off. * CMakeLists.txt: * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * WebCore.pri: * WebCore.pro: * WebCore.xcodeproj/project.pbxproj: * html/CueIndex.cpp: Added. * html/CueIndex.h: Added. * html/LoadableTextTrack.cpp: Added. * html/LoadableTextTrack.h: Added. * html/LoadableTextTrackImpl.cpp: Added. * html/LoadableTextTrackImpl.h: Added. * html/MutableTextTrack.cpp: Added. * html/MutableTextTrack.h: Added. * html/MutableTextTrackImpl.cpp: Added. * html/MutableTextTrackImpl.h: Added. * html/TextTrack.cpp: Added. * html/TextTrack.h: Added. * html/TextTrackCue.cpp: Added. * html/TextTrackCue.h: Added. * html/TextTrackCueList.cpp: Added. * html/TextTrackCueList.h: Added. * html/TextTrackPrivate.h: Added. * loader/CueLoader.cpp: Added. * loader/CueLoader.h: Added. * platform/track/CueParser.cpp: Added. * platform/track/CueParser.h: Added. * platform/track/CueParserPrivate.h: Added. 2011-06-17 Dmitry Lomov Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=62653 [V8][Chromium] Make StringCache in V8 bindings per-isolate This moves StringCache into V8BindingPerIsolateData. * bindings/v8/V8Binding.cpp: (WebCore::cachedStringCallback): (WebCore::StringCache::remove): (WebCore::StringCache::v8ExternalStringSlow): * bindings/v8/V8Binding.h: (WebCore::StringCache::StringCache): (WebCore::StringCache::v8ExternalString): (WebCore::StringCache::clearOnGC): (WebCore::V8BindingPerIsolateData::stringCache): (WebCore::v8ExternalString): * bindings/v8/V8GCController.cpp: (WebCore::V8GCController::gcPrologue): 2011-06-17 Julien Chaffraix Reviewed by Darin Adler. Assertion failure in SVGTextLayoutEngine constructor (!m_layoutAttributes.isEmpty()) https://bugs.webkit.org/show_bug.cgi?id=62884 Test: svg/custom/assert-empty-layout-attributes.svg * rendering/svg/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Added a early return here. It is not needed to do the text layout algorithm if you don't have any layout information as your size is (0, 0) anyway. 2011-06-17 Alexey Proskuryakov Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=62913 Use ICU search collator when available Search on a webpage in Safari conflates some Czech characters Safari search doesn't strip Hamza This changes behaviors that depend on system language, and isn't practically testable. * editing/TextIterator.cpp: (WebCore::createSearcher): Ask ICU for search collator, if available. 2011-06-17 Sheriff Bot Unreviewed, rolling out r89143. http://trac.webkit.org/changeset/89143 https://bugs.webkit.org/show_bug.cgi?id=62912 Possible Chromeos test breakage (Requested by senorblanco on #webkit). * platform/KURLGoogle.cpp: (WebCore::encodeWithURLEscapeSequences): 2011-06-17 Jer Noble Reviewed by Ada Chan. Playing video from the manifest crashes on Windows https://bugs.webkit.org/show_bug.cgi?id=62901 No new tests. This will be covered by existing App Cache tests. Two related fixes. 1) Null-check the CFStringRef and CFURLRef created in QTMovie::load() before passing them to CFRelease(). 2) Use CFURL to create an appropriate file-URL on windows in createFileURLForApplicationCacheResource. * html/HTMLMediaElement.cpp: (WebCore::createFileURLForApplicationCacheResource): * platform/graphics/win/QTMovie.cpp: (QTMovie::load): 2011-06-17 Abhishek Arya Reviewed by Dave Hyatt. When we lose ability to propagate floats, need to find topmost parent with that overhanging float, and then iterate over its sibling blocks to remove the float. https://bugs.webkit.org/show_bug.cgi?id=62875 Test: fast/block/float/float-not-removed-from-next-sibling5.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::styleDidChange): (WebCore::RenderBlock::hasOverhangingFloat): * rendering/RenderBlock.h: 2011-06-17 Vsevolod Vlasov Reviewed by Pavel Feldman. Web Inspector: Network panel does not show main resource content for iframes deleted from the document https://bugs.webkit.org/show_bug.cgi?id=62810 Test: http/tests/inspector/network/network-iframe-load-and-delete.html * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didFinishLoadingImpl): (WebCore::InspectorInstrumentation::didFailLoadingImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didFinishLoading): (WebCore::InspectorInstrumentation::didFailLoading): * inspector/InspectorPageAgent.cpp: (WebCore::cachedResourceContent): (WebCore::mainResourceContent): (WebCore::InspectorPageAgent::sharedBufferContent): (WebCore::InspectorPageAgent::resourceContent): (WebCore::InspectorPageAgent::getResourceContent): (WebCore::InspectorPageAgent::searchInResources): * inspector/InspectorPageAgent.h: * inspector/InspectorResourceAgent.cpp: (WebCore::InspectorResourceAgent::didReceiveResponse): (WebCore::InspectorResourceAgent::didFinishLoading): (WebCore::InspectorResourceAgent::didFailLoading): (WebCore::InspectorResourceAgent::didReceiveXHRResponse): (WebCore::InspectorResourceAgent::getResourceContent): * inspector/InspectorResourceAgent.h: * inspector/InspectorStyleSheet.cpp: (WebCore::InspectorStyleSheet::resourceStyleSheetText): * inspector/NetworkResourcesData.cpp: (WebCore::NetworkResourcesData::ResourceData::ResourceData): (WebCore::NetworkResourcesData::setResourceType): (WebCore::NetworkResourcesData::resourceType): (WebCore::NetworkResourcesData::addResourceSharedBuffer): * inspector/NetworkResourcesData.h: (WebCore::NetworkResourcesData::ResourceData::type): (WebCore::NetworkResourcesData::ResourceData::setType): (WebCore::NetworkResourcesData::ResourceData::buffer): (WebCore::NetworkResourcesData::ResourceData::setBuffer): (WebCore::NetworkResourcesData::ResourceData::textEncodingName): (WebCore::NetworkResourcesData::ResourceData::setTextEncodingName): * loader/ResourceLoadNotifier.cpp: (WebCore::ResourceLoadNotifier::didFailToLoad): (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didFinishLoading): (WebCore::ApplicationCacheGroup::didFail): 2011-06-17 Darin Adler Fix clang build. * loader/LinkLoader.h: Use struct, not class, to forward-declare struct. 2011-06-17 Chris Evans Reviewed by Adam Barth. Detect mixed-scripting involving https -> http redirects https://bugs.webkit.org/show_bug.cgi?id=62846 Test: http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::checkInsecureContent): (WebCore::CachedResourceLoader::canRequest): break out insecure content logic. * loader/cache/CachedResourceLoader.h: * loader/cache/CachedResourceRequest.cpp: (WebCore::CachedResourceRequest::willSendRequest): check the redirect target for possible insecure content issues. 2011-06-12 Robert Hogan Reviewed by Alexey Proskuryakov. [Qt] Qt Counterpart for http://trac.webkit.org/changeset/42078 https://bugs.webkit.org/show_bug.cgi?id=62514 * platform/network/qt/ResourceHandleQt.cpp: (WebCore::WebCoreSynchronousLoader::willSendRequest): 2011-06-17 Mark Pilgrim Reviewed by Adam Barth. Change IDL code generator to require all arguments by default https://bugs.webkit.org/show_bug.cgi?id=62750 As per discussion on public-webapps, WebIDL is changing the default behavior to require all function arguments by default and raise an exception when an argument is missing. (This behavior is currently opt-in in WebKit's IDL system, on a function-by-function basis, with the "RequiresAllArguments=Raise" flag.) To order to match WebIDL as closely as possible, this patch adds an interface-level "LegacyDefaultOptionalArguments" flag and sets it on all existing IDL files (500+), then changes the code generator Perl scripts to behave the old way in the presence of the flag. No new tests required, all existing tests still pass. * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorV8.pm: * bindings/scripts/test/TestCallback.idl: * bindings/scripts/test/TestInterface.idl: * bindings/scripts/test/TestMediaQueryListListener.idl: * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestSerializedScriptValueInterface.idl: * css/CSSCharsetRule.idl: * css/CSSFontFaceRule.idl: * css/CSSImportRule.idl: * css/CSSMediaRule.idl: * css/CSSPageRule.idl: * css/CSSPrimitiveValue.idl: * css/CSSRule.idl: * css/CSSRuleList.idl: * css/CSSStyleDeclaration.idl: * css/CSSStyleRule.idl: * css/CSSStyleSheet.idl: * css/CSSUnknownRule.idl: * css/CSSValue.idl: * css/CSSValueList.idl: * css/Counter.idl: * css/MediaList.idl: * css/MediaQueryList.idl: * css/MediaQueryListListener.idl: * css/RGBColor.idl: * css/Rect.idl: * css/StyleMedia.idl: * css/StyleSheet.idl: * css/StyleSheetList.idl: * css/WebKitCSSKeyframeRule.idl: * css/WebKitCSSKeyframesRule.idl: * css/WebKitCSSMatrix.idl: * css/WebKitCSSTransformValue.idl: * dom/Attr.idl: * dom/BeforeLoadEvent.idl: * dom/BeforeProcessEvent.idl: * dom/CDATASection.idl: * dom/CharacterData.idl: * dom/ClientRect.idl: * dom/ClientRectList.idl: * dom/Clipboard.idl: * dom/Comment.idl: * dom/CompositionEvent.idl: * dom/CustomEvent.idl: * dom/DOMCoreException.idl: * dom/DOMImplementation.idl: * dom/DOMStringList.idl: * dom/DOMStringMap.idl: * dom/DataTransferItem.idl: * dom/DataTransferItems.idl: * dom/DeviceMotionEvent.idl: * dom/DeviceOrientationEvent.idl: * dom/Document.idl: * dom/DocumentFragment.idl: * dom/DocumentType.idl: * dom/Element.idl: * dom/Entity.idl: * dom/EntityReference.idl: * dom/ErrorEvent.idl: * dom/Event.idl: * dom/EventException.idl: * dom/EventListener.idl: * dom/EventTarget.idl: * dom/ExclusiveTrackList.idl: * dom/GeneratedStream.idl: * dom/HashChangeEvent.idl: * dom/KeyboardEvent.idl: * dom/MessageChannel.idl: * dom/MessageEvent.idl: * dom/MessagePort.idl: * dom/MouseEvent.idl: * dom/MultipleTrackList.idl: * dom/MutationEvent.idl: * dom/NamedNodeMap.idl: * dom/Node.idl: * dom/NodeFilter.idl: * dom/NodeIterator.idl: * dom/NodeList.idl: * dom/Notation.idl: * dom/OverflowEvent.idl: * dom/PageTransitionEvent.idl: * dom/PopStateEvent.idl: * dom/ProcessingInstruction.idl: * dom/ProgressEvent.idl: * dom/Range.idl: * dom/RangeException.idl: * dom/RequestAnimationFrameCallback.idl: * dom/Stream.idl: * dom/StreamEvent.idl: * dom/StreamList.idl: * dom/StringCallback.idl: * dom/Text.idl: * dom/TextEvent.idl: * dom/Touch.idl: * dom/TouchEvent.idl: * dom/TouchList.idl: * dom/TrackList.idl: * dom/TreeWalker.idl: * dom/UIEvent.idl: * dom/WebKitAnimationEvent.idl: * dom/WebKitTransitionEvent.idl: * dom/WheelEvent.idl: * fileapi/Blob.idl: * fileapi/DOMFileSystem.idl: * fileapi/DOMFileSystemSync.idl: * fileapi/DirectoryEntry.idl: * fileapi/DirectoryEntrySync.idl: * fileapi/DirectoryReader.idl: * fileapi/DirectoryReaderSync.idl: * fileapi/EntriesCallback.idl: * fileapi/Entry.idl: * fileapi/EntryArray.idl: * fileapi/EntryArraySync.idl: * fileapi/EntryCallback.idl: * fileapi/EntrySync.idl: * fileapi/ErrorCallback.idl: * fileapi/File.idl: * fileapi/FileCallback.idl: * fileapi/FileEntry.idl: * fileapi/FileEntrySync.idl: * fileapi/FileError.idl: * fileapi/FileException.idl: * fileapi/FileList.idl: * fileapi/FileReader.idl: * fileapi/FileReaderSync.idl: * fileapi/FileSystemCallback.idl: * fileapi/FileWriter.idl: * fileapi/FileWriterCallback.idl: * fileapi/FileWriterSync.idl: * fileapi/Metadata.idl: * fileapi/MetadataCallback.idl: * fileapi/OperationNotAllowedException.idl: * fileapi/WebKitBlobBuilder.idl: * fileapi/WebKitFlags.idl: * html/DOMFormData.idl: * html/DOMSettableTokenList.idl: * html/DOMTokenList.idl: * html/DOMURL.idl: * html/HTMLAllCollection.idl: * html/HTMLAnchorElement.idl: * html/HTMLAppletElement.idl: * html/HTMLAreaElement.idl: * html/HTMLAudioElement.idl: * html/HTMLBRElement.idl: * html/HTMLBaseElement.idl: * html/HTMLBaseFontElement.idl: * html/HTMLBlockquoteElement.idl: * html/HTMLBodyElement.idl: * html/HTMLButtonElement.idl: * html/HTMLCanvasElement.idl: * html/HTMLCollection.idl: * html/HTMLDListElement.idl: * html/HTMLDataListElement.idl: * html/HTMLDetailsElement.idl: * html/HTMLDirectoryElement.idl: * html/HTMLDivElement.idl: * html/HTMLDocument.idl: * html/HTMLElement.idl: * html/HTMLEmbedElement.idl: * html/HTMLFieldSetElement.idl: * html/HTMLFontElement.idl: * html/HTMLFormElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameSetElement.idl: * html/HTMLHRElement.idl: * html/HTMLHeadElement.idl: * html/HTMLHeadingElement.idl: * html/HTMLHtmlElement.idl: * html/HTMLIFrameElement.idl: * html/HTMLImageElement.idl: * html/HTMLInputElement.idl: * html/HTMLIsIndexElement.idl: * html/HTMLKeygenElement.idl: * html/HTMLLIElement.idl: * html/HTMLLabelElement.idl: * html/HTMLLegendElement.idl: * html/HTMLLinkElement.idl: * html/HTMLMapElement.idl: * html/HTMLMarqueeElement.idl: * html/HTMLMediaElement.idl: * html/HTMLMenuElement.idl: * html/HTMLMetaElement.idl: * html/HTMLMeterElement.idl: * html/HTMLModElement.idl: * html/HTMLOListElement.idl: * html/HTMLObjectElement.idl: * html/HTMLOptGroupElement.idl: * html/HTMLOptionElement.idl: * html/HTMLOptionsCollection.idl: * html/HTMLOutputElement.idl: * html/HTMLParagraphElement.idl: * html/HTMLParamElement.idl: * html/HTMLPreElement.idl: * html/HTMLProgressElement.idl: * html/HTMLQuoteElement.idl: * html/HTMLScriptElement.idl: * html/HTMLSelectElement.idl: * html/HTMLSourceElement.idl: * html/HTMLStyleElement.idl: * html/HTMLTableCaptionElement.idl: * html/HTMLTableCellElement.idl: * html/HTMLTableColElement.idl: * html/HTMLTableElement.idl: * html/HTMLTableRowElement.idl: * html/HTMLTableSectionElement.idl: * html/HTMLTextAreaElement.idl: * html/HTMLTitleElement.idl: * html/HTMLTrackElement.idl: * html/HTMLUListElement.idl: * html/HTMLVideoElement.idl: * html/ImageData.idl: * html/MediaError.idl: * html/SpellcheckRange.idl: * html/SpellcheckRangeList.idl: * html/TextMetrics.idl: * html/TimeRanges.idl: * html/ValidityState.idl: * html/VoidCallback.idl: * html/canvas/ArrayBuffer.idl: * html/canvas/ArrayBufferView.idl: * html/canvas/CanvasGradient.idl: * html/canvas/CanvasPattern.idl: * html/canvas/CanvasPixelArray.idl: * html/canvas/CanvasRenderingContext.idl: * html/canvas/CanvasRenderingContext2D.idl: * html/canvas/DataView.idl: * html/canvas/Float32Array.idl: * html/canvas/Float64Array.idl: * html/canvas/Int16Array.idl: * html/canvas/Int32Array.idl: * html/canvas/Int8Array.idl: * html/canvas/OESStandardDerivatives.idl: * html/canvas/OESTextureFloat.idl: * html/canvas/OESVertexArrayObject.idl: * html/canvas/Uint16Array.idl: * html/canvas/Uint32Array.idl: * html/canvas/Uint8Array.idl: * html/canvas/WebGLActiveInfo.idl: * html/canvas/WebGLBuffer.idl: * html/canvas/WebGLContextAttributes.idl: * html/canvas/WebGLContextEvent.idl: * html/canvas/WebGLFramebuffer.idl: * html/canvas/WebGLProgram.idl: * html/canvas/WebGLRenderbuffer.idl: * html/canvas/WebGLRenderingContext.idl: * html/canvas/WebGLShader.idl: * html/canvas/WebGLTexture.idl: * html/canvas/WebGLUniformLocation.idl: * html/canvas/WebGLVertexArrayObjectOES.idl: * html/canvas/WebKitLoseContext.idl: * inspector/InjectedScriptHost.idl: * inspector/InspectorFrontendHost.idl: * inspector/JavaScriptCallFrame.idl: * inspector/ScriptProfile.idl: * inspector/ScriptProfileNode.idl: * loader/appcache/DOMApplicationCache.idl: * notifications/Notification.idl: * notifications/NotificationCenter.idl: * page/AbstractView.idl: * page/BarInfo.idl: * page/Console.idl: * page/Coordinates.idl: * page/Crypto.idl: * page/DOMSelection.idl: * page/DOMWindow.idl: * page/EventSource.idl: * page/Geolocation.idl: * page/Geoposition.idl: * page/History.idl: * page/Location.idl: * page/MemoryInfo.idl: * page/Navigator.idl: * page/NavigatorUserMediaError.idl: * page/NavigatorUserMediaErrorCallback.idl: * page/NavigatorUserMediaSuccessCallback.idl: * page/Performance.idl: * page/PerformanceNavigation.idl: * page/PerformanceTiming.idl: * page/PositionCallback.idl: * page/PositionError.idl: * page/PositionErrorCallback.idl: * page/Screen.idl: * page/SpeechInputEvent.idl: * page/SpeechInputResult.idl: * page/SpeechInputResultList.idl: * page/WebKitAnimation.idl: * page/WebKitAnimationList.idl: * page/WebKitPoint.idl: * page/WorkerNavigator.idl: * plugins/DOMMimeType.idl: * plugins/DOMMimeTypeArray.idl: * plugins/DOMPlugin.idl: * plugins/DOMPluginArray.idl: * storage/Database.idl: * storage/DatabaseCallback.idl: * storage/DatabaseSync.idl: * storage/IDBAny.idl: * storage/IDBCursor.idl: * storage/IDBCursorWithValue.idl: * storage/IDBDatabase.idl: * storage/IDBDatabaseError.idl: * storage/IDBDatabaseException.idl: * storage/IDBFactory.idl: * storage/IDBIndex.idl: * storage/IDBKey.idl: * storage/IDBKeyRange.idl: * storage/IDBObjectStore.idl: * storage/IDBRequest.idl: * storage/IDBTransaction.idl: * storage/IDBVersionChangeEvent.idl: * storage/IDBVersionChangeRequest.idl: * storage/SQLError.idl: * storage/SQLException.idl: * storage/SQLResultSet.idl: * storage/SQLResultSetRowList.idl: * storage/SQLStatementCallback.idl: * storage/SQLStatementErrorCallback.idl: * storage/SQLTransaction.idl: * storage/SQLTransactionCallback.idl: * storage/SQLTransactionErrorCallback.idl: * storage/SQLTransactionSync.idl: * storage/SQLTransactionSyncCallback.idl: * storage/Storage.idl: * storage/StorageEvent.idl: * storage/StorageInfo.idl: * storage/StorageInfoErrorCallback.idl: * storage/StorageInfoQuotaCallback.idl: * storage/StorageInfoUsageCallback.idl: * svg/ElementTimeControl.idl: * svg/SVGAElement.idl: * svg/SVGAltGlyphElement.idl: * svg/SVGAngle.idl: * svg/SVGAnimateColorElement.idl: * svg/SVGAnimateElement.idl: * svg/SVGAnimateMotionElement.idl: * svg/SVGAnimateTransformElement.idl: * svg/SVGAnimatedAngle.idl: * svg/SVGAnimatedBoolean.idl: * svg/SVGAnimatedEnumeration.idl: * svg/SVGAnimatedInteger.idl: * svg/SVGAnimatedLength.idl: * svg/SVGAnimatedLengthList.idl: * svg/SVGAnimatedNumber.idl: * svg/SVGAnimatedNumberList.idl: * svg/SVGAnimatedPreserveAspectRatio.idl: * svg/SVGAnimatedRect.idl: * svg/SVGAnimatedString.idl: * svg/SVGAnimatedTransformList.idl: * svg/SVGAnimationElement.idl: * svg/SVGCircleElement.idl: * svg/SVGClipPathElement.idl: * svg/SVGColor.idl: * svg/SVGComponentTransferFunctionElement.idl: * svg/SVGCursorElement.idl: * svg/SVGDefsElement.idl: * svg/SVGDescElement.idl: * svg/SVGDocument.idl: * svg/SVGElement.idl: * svg/SVGElementInstance.idl: * svg/SVGElementInstanceList.idl: * svg/SVGEllipseElement.idl: * svg/SVGException.idl: * svg/SVGExternalResourcesRequired.idl: * svg/SVGFEBlendElement.idl: * svg/SVGFEColorMatrixElement.idl: * svg/SVGFEComponentTransferElement.idl: * svg/SVGFECompositeElement.idl: * svg/SVGFEConvolveMatrixElement.idl: * svg/SVGFEDiffuseLightingElement.idl: * svg/SVGFEDisplacementMapElement.idl: * svg/SVGFEDistantLightElement.idl: * svg/SVGFEDropShadowElement.idl: * svg/SVGFEFloodElement.idl: * svg/SVGFEFuncAElement.idl: * svg/SVGFEFuncBElement.idl: * svg/SVGFEFuncGElement.idl: * svg/SVGFEFuncRElement.idl: * svg/SVGFEGaussianBlurElement.idl: * svg/SVGFEImageElement.idl: * svg/SVGFEMergeElement.idl: * svg/SVGFEMergeNodeElement.idl: * svg/SVGFEMorphologyElement.idl: * svg/SVGFEOffsetElement.idl: * svg/SVGFEPointLightElement.idl: * svg/SVGFESpecularLightingElement.idl: * svg/SVGFESpotLightElement.idl: * svg/SVGFETileElement.idl: * svg/SVGFETurbulenceElement.idl: * svg/SVGFilterElement.idl: * svg/SVGFilterPrimitiveStandardAttributes.idl: * svg/SVGFitToViewBox.idl: * svg/SVGFontElement.idl: * svg/SVGFontFaceElement.idl: * svg/SVGFontFaceFormatElement.idl: * svg/SVGFontFaceNameElement.idl: * svg/SVGFontFaceSrcElement.idl: * svg/SVGFontFaceUriElement.idl: * svg/SVGForeignObjectElement.idl: * svg/SVGGElement.idl: * svg/SVGGlyphElement.idl: * svg/SVGGradientElement.idl: * svg/SVGHKernElement.idl: * svg/SVGImageElement.idl: * svg/SVGLangSpace.idl: * svg/SVGLength.idl: * svg/SVGLengthList.idl: * svg/SVGLineElement.idl: * svg/SVGLinearGradientElement.idl: * svg/SVGLocatable.idl: * svg/SVGMPathElement.idl: * svg/SVGMarkerElement.idl: * svg/SVGMaskElement.idl: * svg/SVGMatrix.idl: * svg/SVGMetadataElement.idl: * svg/SVGMissingGlyphElement.idl: * svg/SVGNumber.idl: * svg/SVGNumberList.idl: * svg/SVGPaint.idl: * svg/SVGPathElement.idl: * svg/SVGPathSeg.idl: * svg/SVGPathSegArcAbs.idl: * svg/SVGPathSegArcRel.idl: * svg/SVGPathSegClosePath.idl: * svg/SVGPathSegCurvetoCubicAbs.idl: * svg/SVGPathSegCurvetoCubicRel.idl: * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: * svg/SVGPathSegCurvetoCubicSmoothRel.idl: * svg/SVGPathSegCurvetoQuadraticAbs.idl: * svg/SVGPathSegCurvetoQuadraticRel.idl: * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: * svg/SVGPathSegLinetoAbs.idl: * svg/SVGPathSegLinetoHorizontalAbs.idl: * svg/SVGPathSegLinetoHorizontalRel.idl: * svg/SVGPathSegLinetoRel.idl: * svg/SVGPathSegLinetoVerticalAbs.idl: * svg/SVGPathSegLinetoVerticalRel.idl: * svg/SVGPathSegList.idl: * svg/SVGPathSegMovetoAbs.idl: * svg/SVGPathSegMovetoRel.idl: * svg/SVGPatternElement.idl: * svg/SVGPoint.idl: * svg/SVGPointList.idl: * svg/SVGPolygonElement.idl: * svg/SVGPolylineElement.idl: * svg/SVGPreserveAspectRatio.idl: * svg/SVGRadialGradientElement.idl: * svg/SVGRect.idl: * svg/SVGRectElement.idl: * svg/SVGRenderingIntent.idl: * svg/SVGSVGElement.idl: * svg/SVGScriptElement.idl: * svg/SVGSetElement.idl: * svg/SVGStopElement.idl: * svg/SVGStringList.idl: * svg/SVGStylable.idl: * svg/SVGStyleElement.idl: * svg/SVGSwitchElement.idl: * svg/SVGSymbolElement.idl: * svg/SVGTRefElement.idl: * svg/SVGTSpanElement.idl: * svg/SVGTests.idl: * svg/SVGTextContentElement.idl: * svg/SVGTextElement.idl: * svg/SVGTextPathElement.idl: * svg/SVGTextPositioningElement.idl: * svg/SVGTitleElement.idl: * svg/SVGTransform.idl: * svg/SVGTransformList.idl: * svg/SVGTransformable.idl: * svg/SVGURIReference.idl: * svg/SVGUnitTypes.idl: * svg/SVGUseElement.idl: * svg/SVGVKernElement.idl: * svg/SVGViewElement.idl: * svg/SVGViewSpec.idl: * svg/SVGZoomAndPan.idl: * svg/SVGZoomEvent.idl: * testing/Internals.idl: * webaudio/AudioBuffer.idl: * webaudio/AudioBufferSourceNode.idl: * webaudio/AudioChannelMerger.idl: * webaudio/AudioChannelSplitter.idl: * webaudio/AudioContext.idl: * webaudio/AudioDestinationNode.idl: * webaudio/AudioGain.idl: * webaudio/AudioGainNode.idl: * webaudio/AudioListener.idl: * webaudio/AudioNode.idl: * webaudio/AudioPannerNode.idl: * webaudio/AudioParam.idl: * webaudio/AudioProcessingEvent.idl: * webaudio/AudioSourceNode.idl: * webaudio/BiquadFilterNode.idl: * webaudio/ConvolverNode.idl: * webaudio/DelayNode.idl: * webaudio/DynamicsCompressorNode.idl: * webaudio/HighPass2FilterNode.idl: * webaudio/JavaScriptAudioNode.idl: * webaudio/LowPass2FilterNode.idl: * webaudio/OfflineAudioCompletionEvent.idl: * webaudio/RealtimeAnalyserNode.idl: * websockets/CloseEvent.idl: * websockets/WebSocket.idl: * workers/AbstractWorker.idl: * workers/DedicatedWorkerContext.idl: * workers/SharedWorker.idl: * workers/SharedWorkerContext.idl: * workers/Worker.idl: * workers/WorkerContext.idl: * workers/WorkerLocation.idl: * xml/DOMParser.idl: * xml/XMLHttpRequest.idl: * xml/XMLHttpRequestException.idl: * xml/XMLHttpRequestProgressEvent.idl: * xml/XMLHttpRequestUpload.idl: * xml/XMLSerializer.idl: * xml/XPathEvaluator.idl: * xml/XPathException.idl: * xml/XPathExpression.idl: * xml/XPathNSResolver.idl: * xml/XPathResult.idl: * xml/XSLTProcessor.idl: 2011-06-17 Cary Clark Reviewed by Mihai Parparita. Exclude isCALayerContext check if building Chrome to use Skia on Mac. https://bugs.webkit.org/show_bug.cgi?id=62859 No new tests. This change does not affect existing functionality. * platform/chromium/ScrollbarThemeChromiumMac.mm: (WebCore::ScrollbarThemeChromiumMac::paint): Add a conditional to always set drawing into layer to false if Skia is the WebKit rendering engine. Once USE(SKIA) is enabled, this condition can be removed. 2011-06-17 Gavin Peters Reviewed by Adam Barth. refactor HTMLLinkElement to allow Link header implementation https://bugs.webkit.org/show_bug.cgi?id=51941 This change moves the LinkRelAttribute helper struct into its own file in html/, since the LinkRelAttribute is used by the LinkLoader, and leaving it in HTMLLinkElement would have been too circular for my tastes. The new LinkLoader class contains the loader code for icons, dns prefetching and prefetch/prerender/subresource into a common LinkLoader. This is a step in getting the Link header working in WebKit, as discussed in webkit-dev For more information, see thread "beforeload & link (esp rel prefetch)". No new tests, since this is a refactoring. * CMakeLists.txt: * GNUmakefile.list.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::HTMLLinkElement): (WebCore::HTMLLinkElement::~HTMLLinkElement): (WebCore::HTMLLinkElement::parseMappedAttribute): (WebCore::HTMLLinkElement::shouldLoadLink): (WebCore::HTMLLinkElement::process): (WebCore::HTMLLinkElement::linkLoaded): (WebCore::HTMLLinkElement::linkLoadingErrored): * html/HTMLLinkElement.h: * html/LinkRelAttribute.cpp: Added. (WebCore::LinkRelAttribute::LinkRelAttribute): * html/LinkRelAttribute.h: Added. * html/parser/HTMLPreloadScanner.cpp: (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet): * loader/LinkLoader.cpp: Added. (WebCore::LinkLoader::LinkLoader): (WebCore::LinkLoader::~LinkLoader): (WebCore::LinkLoader::linkLoadedTimerFired): (WebCore::LinkLoader::notifyFinished): (WebCore::LinkLoader::loadLink): * loader/LinkLoader.h: Added. * loader/LinkLoaderClient.h: Added. (WebCore::LinkLoaderClient::~LinkLoaderClient): 2011-06-17 Annie Sullivan Reviewed by Ryosuke Niwa. div can be a child of span on InsertParagraph https://bugs.webkit.org/show_bug.cgi?id=62687 Handle the special case where the insertion point is the first position in the enclosing block node. The div for the new paragraph should be inserted as a child of the enclosing block node, otherwise it could be inserted as a child of a span or other inline element. * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): 2011-06-17 Eric Uhrhane Reviewed by Adam Barth. [filesystem/Chromium] Filesystem paths need proper URL escaping https://bugs.webkit.org/show_bug.cgi?id=62811 Fix http://code.google.com/p/chromium/issues/detail?id=78860 by making KURLChromium.cpp's escaping code actually work. Make encodeWithURLEscapeSequences call into googleurl to do proper escaping. Tested in WebKit/chromium/tests/KURLTest.cpp. * platform/KURLGoogle.cpp: (WebCore::encodeWithURLEscapeSequences): 2011-06-17 Julien Chaffraix Reviewed by Darin Adler. Avoid extra work in RenderStyle::visitedDependentColor https://bugs.webkit.org/show_bug.cgi?id=62868 Refactoring only, no new test required. The code used to cache the result of borderStyleForColorProperty. However the value was either overwritten inside colorIncludingFallback or there was not border. Thus I removed borderStyleForColorProperty and inlined the logic in colorIncludingFallback. This shows some nice performance improvements on the bug page (table of 22k rows with a link for each row). Using pprof, the time spend in RenderStyle::visitedDependentColor is reduced by ~10%, mostly due to removing the call to borderStyleForColorProperty. * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::colorIncludingFallback): We now calculate the borderStyle inside this function (which was already the case I just made it explicit). Also simplified the final 'if' as the border will be set only for the right CSS border properties. (WebCore::RenderStyle::visitedDependentColor): Removed the |borderStyle| variable as it was never read. * rendering/style/RenderStyle.h: Removed the parameter. 2011-06-16 Pavel Podivilov Reviewed by Yury Semikhatsky. Web Inspector: breakpointsWithoutSourceFile values should be a maps, not arrays. https://bugs.webkit.org/show_bug.cgi?id=62714 * inspector/front-end/DebuggerPresentationModel.js: (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles): (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpointsFromSettings): (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints): (WebInspector.DebuggerPresentationModel.prototype._reset): * inspector/front-end/Settings.js: (WebInspector.Settings): (WebInspector.Settings.prototype._set): 2011-06-17 Joone Hur Reviewed by Martin Robinson. [GTK] Replace GdkRectangle by cairo_rectangle_int_t https://bugs.webkit.org/show_bug.cgi?id=60687 Replace GdkRectangle by cairo_rectangle_int_t. * GNUmakefile.list.am: Added IntRectCairo.cpp instead of IntRectGtk.cpp * platform/graphics/IntRect.h: IntRect class can be instantiated through the given cairo_rectangle_int_t instead of GdkRectangle. * platform/graphics/cairo/IntRectCairo.cpp: Add the constructor and operator for handling cairo_rectangle_int_t. (WebCore::IntRect::IntRect): (WebCore::IntRect::operator cairo_rectangle_int_t): * platform/graphics/gtk/IntRectGtk.cpp: Include this file only for Gtk+2. * platform/gtk/GtkPluginWidget.cpp: Replace GdkRectangle by cairo_rectangle_int_t. (WebCore::GtkPluginWidget::invalidateRect): 2011-06-17 Alexander Pavlov Reviewed by David Hyatt. Web Inspector: support for emulating element's pseudo class state in styleRulesForElement() https://bugs.webkit.org/show_bug.cgi?id=61070 This patch is a slight rework of a solution by Alexander Udalov. It is supposed to help implement a feature in Web Inspector to examine style rules matched for different states of a given element. Web Inspector is supposed to pass a mask of ForcePseudoClassFlags to styleRulesForElement(), so that it will filter only the rules whose state (a set of pseudo classes in their selectors) matches a given mask, ignoring the state of the element itself. DoNotForcePseudoClassMask is the default behaviour; it always examines the state of a given element to make a match. Tests will be provided in a subsequent Web Inspector change employing this functionality. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::initForStyleResolve): (WebCore::CSSStyleSelector::styleRulesForElement): (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): (WebCore::CSSStyleSelector::checkSelector): (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): * css/CSSStyleSelector.h: 2011-06-17 Yury Semikhatsky Reviewed by Pavel Feldman. Web Inspector: support preview mode for live edit changes https://bugs.webkit.org/show_bug.cgi?id=62851 Debugger.editScriptSource command now supports preview flag. * bindings/js/ScriptDebugServer.cpp: (WebCore::ScriptDebugServer::editScriptSource): * bindings/js/ScriptDebugServer.h: * bindings/v8/ScriptDebugServer.cpp: (WebCore::ScriptDebugServer::editScriptSource): * bindings/v8/ScriptDebugServer.h: * inspector/Inspector.json: * inspector/InspectorDebuggerAgent.cpp: (WebCore::InspectorDebuggerAgent::editScriptSource): * inspector/InspectorDebuggerAgent.h: 2011-06-09 Hans Wennborg Reviewed by Tony Gentilcore. IndexedDB: backingStoreMap is per backing store, not per database https://bugs.webkit.org/show_bug.cgi?id=62382 IDBFactoryBackendImpl::m_backingStoreMap should contain an entry per backing store, not per database. Otherwise, we might accidentally open the same backing store more than once, which is dangerous. Also tweak the code that chooses backing store type. It should be simple: we default to SQLite; if LevelDB is specifically requested, we use that. If LevelDB is requested and there is a SQLite database, we migrate. No new tests, just cleaning up the code. * storage/IDBFactoryBackendImpl.cpp: (WebCore::IDBFactoryBackendImpl::addIDBBackingStore): (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore): (WebCore::IDBFactoryBackendImpl::open): (WebCore::IDBFactoryBackendImpl::migrateFromSQLiteToLevelDB): * storage/IDBFactoryBackendImpl.h: 2011-06-17 Andrey Adaikin Reviewed by Pavel Feldman. Web Inspector: Source code which includes non-Latin character does not correspond to line number field on Inspector https://bugs.webkit.org/show_bug.cgi?id=62845 * inspector/front-end/TextViewer.js: (WebInspector.TextViewer.prototype._syncLineHeight): (WebInspector.TextEditorGutterPanel): (WebInspector.TextEditorGutterChunk.prototype.set expanded): 2011-06-16 Yury Semikhatsky Reviewed by Pavel Feldman. Web Inspector: return description of the changes applied in response to editScriptSource command https://bugs.webkit.org/show_bug.cgi?id=62801 Return description of the changes made in response to Debugger.editScriptSource command. * bindings/js/ScriptDebugServer.cpp: (WebCore::ScriptDebugServer::editScriptSource): * bindings/js/ScriptDebugServer.h: * bindings/v8/DebuggerScript.js: (): * bindings/v8/ScriptDebugServer.cpp: (WebCore::ScriptDebugServer::editScriptSource): * bindings/v8/ScriptDebugServer.h: * inspector/Inspector.json: 2011-06-16 Gabor Loki [Qt] Unreviewed, build fix after r89118. * dom/XMLDocumentParserQt.cpp: (WebCore::XMLDocumentParser::initializeParserContext): 2011-06-16 Yuta Kitamura Unreviewed, rolling out r89073. http://trac.webkit.org/changeset/89073 https://bugs.webkit.org/show_bug.cgi?id=62783 Broke Chromium Clang build. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: (wkScrollbarPainterPaint): * platform/chromium/ScrollbarThemeChromiumMac.h: * platform/chromium/ScrollbarThemeChromiumMac.mm: (WebCore::ScrollbarThemeChromiumMac::paint): 2011-06-16 Jeffrey Pfau Reviewed by Alexey Proskuryakov. Using null bytes when setting innerHTML in XTHML results in assertion and a crash due to null-pointer dereference https://bugs.webkit.org/show_bug.cgi?id=61053 XML parsing in-memory XML chunks now passes around a string object instead of a C string, ensuring null characters are properly handled. Tests: fast/parser/xhtml-innerhtml-null-byte-first.xhtml fast/parser/xhtml-innerhtml-null-byte.xhtml * dom/XMLDocumentParser.h: * dom/XMLDocumentParserLibxml2.cpp: (WebCore::XMLParserContext::createMemoryParser): (WebCore::XMLDocumentParser::initializeParserContext): (WebCore::XMLDocumentParser::appendFragmentSource): 2011-06-16 Robin Dunn Reviewed by Kevin Ollivier. [wx] Account for differing byte order when decoding images in the PPC build. https://bugs.webkit.org/show_bug.cgi?id=62830 * platform/image-decoders/wx/ImageDecoderWx.cpp: (WebCore::ImageFrame::asNewNativeImage): 2011-06-16 Darin Adler Reviewed by Dan Bernstein. REGRESSION (r89035): HTMLTableRowsCollection constructor crashes; depends on compiler order of evaluation https://bugs.webkit.org/show_bug.cgi?id=62836 Covered by existing tests on platforms where it occurs. * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Add a call to get() to prevent the passing behavior of PassRefPtr from kicking in and changing the table pointer to 0, possibly before it is dereferenced. 2011-06-16 Sheriff Bot Unreviewed, rolling out r89055. http://trac.webkit.org/changeset/89055 https://bugs.webkit.org/show_bug.cgi?id=62835 Caused failures on all ports except GTK (Requested by mrobinson on #webkit). * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::statusWillBeHandledBySoup): (WebCore::soupErrorShouldCauseLoadFailure): (WebCore::convertSoupErrorToResourceError): (WebCore::sendRequestCallback): 2011-06-16 Ryosuke Niwa Reviewed by Darin Adler. Support logical line movement in vertical writing mode https://bugs.webkit.org/show_bug.cgi?id=62743 Fixed the bug by making xOffsetForVerticalNavigation (now called lineDirectionPointForVerticalNavigation) aware of writing modes. Also extracted absoluteLineDirectionPointToLocalPointInBlock from previousLinePosition and nextLinePosition to convert a line direction point to a physical point relative to a root inline box. Tests: editing/selection/vertical-lr-ltr-extend-line-backward-br.html editing/selection/vertical-lr-ltr-extend-line-forward-br.html editing/selection/vertical-rl-ltr-extend-line-backward-br.html editing/selection/vertical-rl-ltr-extend-line-backward-p.html editing/selection/vertical-rl-ltr-extend-line-backward-wrap.html editing/selection/vertical-rl-ltr-extend-line-forward-br.html editing/selection/vertical-rl-ltr-extend-line-forward-p.html editing/selection/vertical-rl-ltr-extend-line-forward-wrap.html editing/selection/vertical-rl-rtl-extend-line-backward-br.html editing/selection/vertical-rl-rtl-extend-line-backward-p.html editing/selection/vertical-rl-rtl-extend-line-forward-br.html editing/selection/vertical-rl-rtl-extend-line-forward-p.html * editing/FrameSelection.cpp: (WebCore::FrameSelection::modifyExtendingForward): Calls lineDirectionPointForBlockDirectionNavigation. (WebCore::FrameSelection::modifyMovingForward): Ditto. (WebCore::FrameSelection::modifyExtendingBackward): Ditto. (WebCore::FrameSelection::modifyMovingBackward): Ditto. (WebCore::FrameSelection::modify): Ditto. (WebCore::FrameSelection::lineDirectionPointForBlockDirectionNavigation): Renamed from xPosForVerticalArrowNavigation; calls VisiblePosition::lineDirectionPointForVerticalNavigation. * editing/FrameSelection.h: * editing/VisiblePosition.cpp: (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation): Renamed from xOffsetForVerticalNavigation. Returns line direction point instead of visual x coordinate. * editing/VisiblePosition.h: * editing/visible_units.cpp: (WebCore::absoluteLineDirectionPointToLocalPointInBlock): Extracted from previousLinePosition and nextLinePosition. Takes care or writing modes. (WebCore::previousLinePosition): Calls absoluteLineDirectionPointToLocalPointInBlock. (WebCore::nextLinePosition): Ditto. * editing/visible_units.h: * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::closestLeafChildForPoint): Added; takes a physical point and calls closestLeafChildForLogicalLeftPosition with logical x. * rendering/RootInlineBox.h: 2011-06-16 Nate Chapin Reviewed by Alexey Proskuryakov. Set the referrer on a ResourceRequest from a WorkerThreadableLoader as soon as the request reaches the main thread and remove the optionalOutgoingReferrer parameter from some functions. https://bugs.webkit.org/show_bug.cgi?id=62806 * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::loadResourceSynchronously): (WebCore::DocumentThreadableLoader::create): (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): (WebCore::DocumentThreadableLoader::loadRequest): * loader/DocumentThreadableLoader.h: * loader/ResourceLoadScheduler.cpp: (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad): * loader/ResourceLoadScheduler.h: * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create): * loader/SubresourceLoader.h: * loader/WorkerThreadableLoader.cpp: (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): 2011-06-16 Eric Seidel Reviewed by Adam Barth. FrameLoader doesn't need completeURL or baseURL https://bugs.webkit.org/show_bug.cgi?id=62818 No functional change, thus no tests. * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::isImageType): (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin): * inspector/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::open): * loader/FrameLoader.cpp: * loader/FrameLoader.h: * loader/NavigationScheduler.cpp: (WebCore::NavigationScheduler::scheduleLocationChange): * page/History.cpp: (WebCore::History::urlForState): 2011-06-16 Dawit Alemayehu Reviewed by Antonio Gomes. Support for gnash flash player plugin in QtWebKit [Qt] Support for the gnash flash player plugin https://bugs.webkit.org/show_bug.cgi?id=62283 No new tests needed. Existing nsplugin tests are sufficient. * plugins/qt/PluginPackageQt.cpp: (WebCore::PluginPackage::load): 2011-06-16 Sailesh Agrawal Reviewed by Mihai Parparita. [Chromium] Draw search tickmarks on overlay scrollbars https://bugs.webkit.org/show_bug.cgi?id=62783 This change adds search tickmark support for overlay scrollbars. Tickmarks are only drawn when the scroll track is visible. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:Split the scrollbar drawing code into a track and knob version. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: (wkScrollbarPainterPaint): (wkScrollbarPainterPaintTrack): (wkScrollbarPainterPaintKnob): * platform/chromium/ScrollbarThemeChromiumMac.h: * platform/chromium/ScrollbarThemeChromiumMac.mm:Factor out the paint tickmark code and call it from the overlay scrollbar drawing code. (WebCore::ScrollbarThemeChromiumMac::paint): (WebCore::ScrollbarThemeChromiumMac::paintTickmarks): 2011-06-16 Geoffrey Garen Reviewed by Oliver Hunt. Introduced SlotVisitor into the project https://bugs.webkit.org/show_bug.cgi?id=62820 This resolves a class vs typedef forward declaration issue, and gives all exported symbols the correct names. * dom/EventListener.h: * dom/Node.h: * dom/NodeFilterCondition.h: 2011-06-16 Abhishek Arya Reviewed by Adam Barth. RefPtr frame since it can get removed in FrameLoader::finishedParsing. https://bugs.webkit.org/show_bug.cgi?id=62812 Tests: already tested by fast/parser/document-write-into-initial-document.html. * dom/Document.cpp: (WebCore::Document::finishedParsing): 2011-06-16 Sailesh Agrawal Reviewed by Mihai Parparita. [Chromium] Update forked ScrollAnimatorChromiumMac.mm/h https://bugs.webkit.org/show_bug.cgi?id=62779 Updated ScrollAnimatorChromiumMac.mm/h with the latest code in WebCore/platform/mac/ScrollAnimatorMac.mm/h * platform/chromium/ScrollAnimatorChromiumMac.h: (WebCore::ScrollAnimatorChromiumMac::setNeedsScrollerStyleUpdate): (WebCore::ScrollAnimatorChromiumMac::needsScrollerStyleUpdate): * platform/chromium/ScrollAnimatorChromiumMac.mm: (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]): (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]): (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac): (WebCore::ScrollAnimatorChromiumMac::scroll): (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPointForScrollAnimation): (WebCore::isScrollingLeftAndShouldNotRubberBand): (WebCore::isScrollingRightAndShouldNotRubberBand): (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent): (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent): (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture): (WebCore::ScrollAnimatorChromiumMac::snapRubberBand): (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired): (WebCore::ScrollAnimatorChromiumMac::setIsActive): (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle): * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: (wkScrollbarPainterControllerStyle): 2011-06-16 Sailesh Agrawal Reviewed by Mihai Parparita. [Chromium] Overlay scrollbars leave glitches on web content https://bugs.webkit.org/show_bug.cgi?id=62383 Enable overlay scrollbars on Chromium Mac. * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: (preferredScrollerStyle): 2011-06-16 una sabovic Reviewed by Simon Fraser. Optimization: do a single fillRect when painting the root background in RenderBoxModelObject::paintFillLayerExtended https://bugs.webkit.org/show_bug.cgi?id=62593 When painting the root background, instead of doing two fillRects blend the base with background color and do a single fillRect. No new tests. This is an optimization and it doesn't change any existing functionality. * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintFillLayerExtended): 2011-06-16 Ryosuke Niwa Reviewed by Eric Seidel. Consider padding and border when looking for the next/previous line position https://bugs.webkit.org/show_bug.cgi?id=55481 The bug was caused by previousLinePosition and nextLinePosition passing y coordinate above the line in some cases. Fixed the bug by passing the larger of selectionTop and logicalTop. This patch is based on a patch originally written by Mario Sanchez Prada . Test: editing/selection/move-vertically-with-paddings-borders.html * editing/visible_units.cpp: (WebCore::previousLinePosition): (WebCore::nextLinePosition): * rendering/RootInlineBox.h: (WebCore::RootInlineBox::blockDirectionPointInLine): 2011-06-16 Keunsoon Lee Reviewed by Martin Robinson. [SOUP] Abnormal operation if server sends 5xx status code without HTTP body https://bugs.webkit.org/show_bug.cgi?id=60875 Handle status code 4xx and 5xx after receiving HTTP body Webkit soup port premises that server always sends error page in case server sends error code, 4xx and 5xx. But, sometimes there is no HTTP body for error page. In that case, Webkit does nothing or tries to download the HTTP response according to received MIME Type even if there is no HTTP body. (abnormal operation) With this modification, Browser will show received error page if server sends error page. Or it will show its own error page from each port if server sends nothing. Modified algorithm 1) libsoup sends status code 4xx or 5xx (client error or server error) 2) Webkit soup port orders to accumulate HTTP body chunks to libsoup. 3) Webkit soup port ignores gotHeadersCallback, contentSniffedCallback and gotChunkCallback. 4) Webkit soup port checks there is HTTP body or not on sendRequestCallback and; 4-1) if there is HTTP body, calls didReceiveResponse() 4-2) if there is no HTTP body, calls didFail() - prevent the abnormal operation Test: http/tests/loading/status-code-error-without-response-body.html * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::statusWillBeHandledBySoup): Add a new condition, SOUP_STATUS_IS_CLIENT_ERROR() and SOUP_STATUS_IS_SERVER_ERROR() (WebCore::soupErrorAndHaveNotReceivedBody): Add a new helper function, it checks received body is exist if soup sends error code (WebCore::soupErrorShouldCauseLoadFailure): Add a new condition, soupErrorAndHaveNotReceivedBody() (WebCore::convertSoupErrorToResourceError): Add a new condition, soupErrorAndHaveNotReceivedBody() (WebCore::sendRequestCallback): Check handle->client() again, because didReceiveResponse() can make it zero 2011-06-16 Vsevolod Vlasov Reviewed by Pavel Feldman. Web Inspector: Network panel shows incorrect query parameters when url has fragment. https://bugs.webkit.org/show_bug.cgi?id=62723 * English.lproj/localizedStrings.js: * inspector/front-end/HAREntry.js: (WebInspector.HAREntry.prototype._buildRequest): (WebInspector.HAREntry.prototype._buildRequestURL): * inspector/front-end/Resource.js: (WebInspector.Resource.prototype.set url): (WebInspector.Resource.prototype.get queryParameters): * inspector/front-end/ResourceHeadersView.js: (WebInspector.ResourceHeadersView): (WebInspector.ResourceHeadersView.prototype._refreshUrlFragment): 2011-06-16 Dimitri Glazkov Clang fix after r89039. * rendering/RenderThemeMac.h: Removed spurious constipation. * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::fileListNameForWidth): Ditto. 2011-06-16 Sheriff Bot Unreviewed, rolling out r89026. http://trac.webkit.org/changeset/89026 https://bugs.webkit.org/show_bug.cgi?id=62804 These patches were likely correct. I'll investigate the browser_test failures. (Requested by abarth on #webkit). * WebCore.exp.in: * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::ScriptController): (WebCore::ScriptController::processingUserGesture): * bindings/js/ScriptController.h: * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::ScriptController): (WebCore::ScriptController::processingUserGesture): * bindings/v8/ScriptController.h: * dom/Event.cpp: * dom/Event.h: * dom/UserGestureIndicator.cpp: (WebCore::isDefinite): (WebCore::UserGestureIndicator::UserGestureIndicator): (WebCore::UserGestureIndicator::~UserGestureIndicator): * dom/UserGestureIndicator.h: (WebCore::UserGestureIndicator::processingUserGesture): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::removedFromDocument): (WebCore::HTMLMediaElement::load): (WebCore::HTMLMediaElement::play): (WebCore::HTMLMediaElement::pause): (WebCore::HTMLMediaElement::beginScrubbing): (WebCore::HTMLMediaElement::resume): * html/HTMLMediaElement.h: * html/HTMLMediaElement.idl: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitEnterFullscreen): * html/HTMLVideoElement.h: (WebCore::HTMLVideoElement::webkitEnterFullScreen): * html/HTMLVideoElement.idl: * html/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler): * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlSeekButtonElement::defaultEventHandler): * html/shadow/TextControlInnerElements.cpp: (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): 2011-06-16 Dimitri Glazkov [Qt] Build fix after r89039. * WebCore.pro: Added StringTruncator to build system. * platform/qt/RenderThemeQt.cpp: Reverted previous change. 2011-06-16 Dimitri Glazkov [Qt] Build fix after r89039. * platform/qt/RenderThemeQt.cpp: Added StringTruncator include. 2011-06-16 Dimitri Glazkov [Qt] Build fix after r89039. * platform/qt/RenderThemeQt.h: Renamed local variable f to font. 2011-06-16 Dimitri Glazkov [Qt] Build fix after r89039. * platform/qt/RenderThemeQt.h: Move decl out of ENABLE(VIDEO) ifdef. 2011-06-15 Dimitri Glazkov Reviewed by Kent Tamura. Move FileChooser::basenameForWidth to RenderTheme::fileListNameForWidth, eliminate gnarly FileChooserFoo proliferation. https://bugs.webkit.org/show_bug.cgi?id=62748 Refactoring, covered by existing tests. * CMakeListsEfl.txt: Removed FileChooserFoo from build system. * CMakeListsWinCE.txt: Ditto. * GNUmakefile.list.am: Ditto. * WebCore.gypi: Ditto. * WebCore.order: Ditto. * WebCore.pro: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * platform/FileChooser.h: Removed baseNameForWidth decl. * platform/FileSystem.h: Removed now-unnecessary Chromium-specific cruft. * platform/android/FileChooserAndroid.cpp: Removed. * platform/brew/FileChooserBrew.cpp: Removed. * platform/chromium/FileChooserChromium.cpp: Removed. * platform/chromium/FileSystemChromiumLinux.cpp: Removed now-unnecessary code. * platform/chromium/FileSystemChromiumMac.mm: Ditto. * platform/chromium/FileSystemChromiumWin.cpp: Ditto. * platform/efl/FileChooserEfl.cpp: Removed. * platform/gtk/FileChooserGtk.cpp: Removed. * platform/gtk/RenderThemeGtk.cpp: (WebCore::stringByAdoptingFileSystemRepresentation): Moved from FileChooserGtk. (WebCore::RenderThemeGtk::fileListNameForWidth): Ditto. * platform/gtk/RenderThemeGtk.h: Added decl. * platform/haiku/FileChooserHaiku.cpp: Removed. * platform/mac/FileChooserMac.mm: Removed. * platform/qt/FileChooserQt.cpp: Removed. * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::RenderThemeQt): Moved from FileChooserQt. (WebCore::RenderThemeQt::fileListNameForWidth): Ditto. * platform/qt/RenderThemeQt.h: Adde decl. * platform/win/FileChooserWin.cpp: Removed. * platform/wx/FileChooserWx.cpp: Removed. * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::fileTextValue): Changed to use RenderTheme. * rendering/RenderTheme.cpp: (WebCore::RenderTheme::fileListNameForWidth): Added default impl. * rendering/RenderTheme.h: Added decl. * rendering/RenderThemeMac.h: Ditto. * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::fileListNameForWidth): Added default Mac impl. 2011-06-16 Vsevolod Vlasov Reviewed by Pavel Feldman. Web Inspector: Cache XHR content in backend, do not use initialContentSet for XHRs. https://bugs.webkit.org/show_bug.cgi?id=61205 Added inspector backend cache for XHR content. Tests: http/tests/inspector/network/network-xhr-async.html http/tests/inspector/network/network-xhr-sync.html * CMakeLists.txt: * GNUmakefile.list.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::didReceiveResponse): * fileapi/FileReaderLoader.h: * inspector/Inspector.json: * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl): (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl): (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl): (WebCore::InspectorInstrumentation::didCommitLoadImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didReceiveXHRResponse): (WebCore::InspectorInstrumentation::willLoadXHRSynchronously): (WebCore::InspectorInstrumentation::didLoadXHRSynchronously): * inspector/InspectorResourceAgent.cpp: (WebCore::InspectorResourceAgent::willSendRequest): (WebCore::InspectorResourceAgent::didReceiveResponse): (WebCore::InspectorResourceAgent::setInitialXHRContent): (WebCore::InspectorResourceAgent::didReceiveXHRResponse): (WebCore::InspectorResourceAgent::willLoadXHRSynchronously): (WebCore::InspectorResourceAgent::didLoadXHRSynchronously): (WebCore::InspectorResourceAgent::getResourceContent): (WebCore::InspectorResourceAgent::mainFrameNavigated): (WebCore::InspectorResourceAgent::InspectorResourceAgent): * inspector/InspectorResourceAgent.h: * inspector/NetworkResourcesData.cpp: Added. (WebCore::NetworkResourcesData::ResourceData::ResourceData): (WebCore::NetworkResourcesData::ResourceData::content): (WebCore::NetworkResourcesData::ResourceData::appendContent): (WebCore::NetworkResourcesData::ResourceData::purgeContent): (WebCore::NetworkResourcesData::NetworkResourcesData): (WebCore::NetworkResourcesData::~NetworkResourcesData): (WebCore::NetworkResourcesData::resourceCreated): (WebCore::NetworkResourcesData::responseReceived): (WebCore::NetworkResourcesData::didReceiveXHRResponse): (WebCore::NetworkResourcesData::addResourceContent): (WebCore::NetworkResourcesData::isXHR): (WebCore::NetworkResourcesData::data): (WebCore::NetworkResourcesData::clear): (WebCore::NetworkResourcesData::ensureNoDataForIdentifier): (WebCore::NetworkResourcesData::ensureFreeSpace): * inspector/NetworkResourcesData.h: Added. (WebCore::NetworkResourcesData::ResourceData::identifier): (WebCore::NetworkResourcesData::ResourceData::loaderId): (WebCore::NetworkResourcesData::ResourceData::frameId): (WebCore::NetworkResourcesData::ResourceData::setFrameId): (WebCore::NetworkResourcesData::ResourceData::url): (WebCore::NetworkResourcesData::ResourceData::setUrl): (WebCore::NetworkResourcesData::ResourceData::isXHR): (WebCore::NetworkResourcesData::ResourceData::setIsXHR): (WebCore::NetworkResourcesData::ResourceData::hasContent): (WebCore::NetworkResourcesData::ResourceData::isContentPurged): (WebCore::NetworkResourcesData::ResourceData::setIsContentPurged): * inspector/front-end/NetworkManager.js: (WebInspector.NetworkManager.prototype.requestContent): (WebInspector.NetworkDispatcher.prototype._appendRedirect): * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkPanel.prototype._appendResource): (WebInspector.NetworkPanel.prototype._frameNavigated): * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveResponse): (WebCore::DocumentThreadableLoader::receivedCancellation): (WebCore::DocumentThreadableLoader::loadRequest): * loader/DocumentThreadableLoader.h: * loader/ThreadableLoaderClient.h: (WebCore::ThreadableLoaderClient::didReceiveResponse): (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation): * loader/ThreadableLoaderClientWrapper.h: (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse): (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation): * loader/WorkerThreadableLoader.cpp: (WebCore::workerContextDidReceiveResponse): (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse): (WebCore::workerContextDidReceiveAuthenticationCancellation): (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation): * loader/WorkerThreadableLoader.h: * notifications/Notification.cpp: (WebCore::Notification::didReceiveResponse): (WebCore::Notification::didReceiveAuthenticationCancellation): * notifications/Notification.h: * page/EventSource.cpp: (WebCore::EventSource::didReceiveResponse): * page/EventSource.h: * workers/WorkerScriptLoader.cpp: (WebCore::WorkerScriptLoader::didReceiveResponse): (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation): * workers/WorkerScriptLoader.h: * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::createRequest): (WebCore::XMLHttpRequest::didReceiveResponse): (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation): * xml/XMLHttpRequest.h: 2011-06-16 Julien Chaffraix Reviewed by Darin Adler. HTMLTable should cache its 'rows' collection results https://bugs.webkit.org/show_bug.cgi?id=62800 Test: perf/table-rows-length-caching.html Currently all our HTMLCollection's are recreated on call. This means that we don't cache the information about the collection between calls to, for example, table.rows. This change adds a CollectionCache to HTMLTableElement. It is similar to what is done for HTMLFormElement. * html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::collectionCache): This method does lazy initialization of the table's collectionCache. * html/HTMLTableElement.h: Added a new member and the previous method. * html/HTMLTableRowsCollection.cpp: (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Pass the HTMLTableElement's CollectionCache so that we reuse the cached results. 2011-06-16 Sheriff Bot Unreviewed, rolling out r89025. http://trac.webkit.org/changeset/89025 https://bugs.webkit.org/show_bug.cgi?id=62799 "Some layout tests fail" (Requested by yurys on #webkit). * CMakeLists.txt: * GNUmakefile.list.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::didReceiveResponse): * fileapi/FileReaderLoader.h: * inspector/Inspector.json: * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didCommitLoadImpl): * inspector/InspectorInstrumentation.h: * inspector/InspectorResourceAgent.cpp: (WebCore::InspectorResourceAgent::willSendRequest): (WebCore::InspectorResourceAgent::didReceiveResponse): (WebCore::InspectorResourceAgent::setInitialXHRContent): (WebCore::InspectorResourceAgent::InspectorResourceAgent): * inspector/InspectorResourceAgent.h: * inspector/NetworkResourcesData.cpp: Removed. * inspector/NetworkResourcesData.h: Removed. * inspector/front-end/NetworkManager.js: (WebInspector.NetworkManager.prototype.requestContent): (WebInspector.NetworkDispatcher.prototype._appendRedirect): * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkPanel.prototype._appendResource): (WebInspector.NetworkPanel.prototype._frameNavigated): * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveResponse): (WebCore::DocumentThreadableLoader::receivedCancellation): (WebCore::DocumentThreadableLoader::loadRequest): * loader/DocumentThreadableLoader.h: * loader/ThreadableLoaderClient.h: (WebCore::ThreadableLoaderClient::didReceiveResponse): (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation): * loader/ThreadableLoaderClientWrapper.h: (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse): (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation): * loader/WorkerThreadableLoader.cpp: (WebCore::workerContextDidReceiveResponse): (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse): (WebCore::workerContextDidReceiveAuthenticationCancellation): (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation): * loader/WorkerThreadableLoader.h: * notifications/Notification.cpp: (WebCore::Notification::didReceiveResponse): (WebCore::Notification::didReceiveAuthenticationCancellation): * notifications/Notification.h: * page/EventSource.cpp: (WebCore::EventSource::didReceiveResponse): * page/EventSource.h: * workers/WorkerScriptLoader.cpp: (WebCore::WorkerScriptLoader::didReceiveResponse): (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation): * workers/WorkerScriptLoader.h: * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::createRequest): (WebCore::XMLHttpRequest::didReceiveResponse): (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation): * xml/XMLHttpRequest.h: 2011-06-16 Vitaly Repeshko Unreviewed. Revert Adam's user gesture patch series r89002, r89005, r89007, r89018 https://bugs.webkit.org/show_bug.cgi?id=62796 The patches broke chromium browser tests. * WebCore.exp.in: * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::ScriptController): (WebCore::ScriptController::processingUserGesture): (WebCore::ScriptController::isJavaScriptAnchorNavigation): * bindings/js/ScriptController.h: (WebCore::ScriptController::setProcessingTimerCallback): * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::ScriptController): (WebCore::ScriptController::processingUserGesture): * bindings/v8/ScriptController.h: (WebCore::ScriptController::setProcessingTimerCallback): * dom/Event.cpp: (WebCore::Event::fromUserGesture): * dom/Event.h: * dom/UserGestureIndicator.cpp: (WebCore::UserGestureIndicator::UserGestureIndicator): (WebCore::UserGestureIndicator::~UserGestureIndicator): * dom/UserGestureIndicator.h: (WebCore::UserGestureIndicator::processingUserGesture): (WebCore::UserGestureIndicator::getUserGestureState): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::removedFromDocument): (WebCore::HTMLMediaElement::load): (WebCore::HTMLMediaElement::play): (WebCore::HTMLMediaElement::pause): (WebCore::HTMLMediaElement::beginScrubbing): (WebCore::HTMLMediaElement::resume): (WebCore::HTMLMediaElement::processingUserGesture): * html/HTMLMediaElement.h: * html/HTMLMediaElement.idl: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitEnterFullscreen): * html/HTMLVideoElement.h: (WebCore::HTMLVideoElement::webkitEnterFullScreen): * html/HTMLVideoElement.idl: * html/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler): * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlSeekButtonElement::defaultEventHandler): * html/shadow/TextControlInnerElements.cpp: (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): 2011-06-16 Vsevolod Vlasov Reviewed by Yury Semikhatsky. Web Inspector: Cache XHR content in backend, do not use initialContentSet for XHRs. https://bugs.webkit.org/show_bug.cgi?id=61205 Added inspector backend cache for XHR content. Tests: http/tests/inspector/network/network-xhr-async.html http/tests/inspector/network/network-xhr-sync.html * CMakeLists.txt: * GNUmakefile.list.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::didReceiveResponse): * fileapi/FileReaderLoader.h: * inspector/Inspector.json: * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl): (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl): (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl): (WebCore::InspectorInstrumentation::didCommitLoadImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didReceiveXHRResponse): (WebCore::InspectorInstrumentation::willLoadXHRSynchronously): (WebCore::InspectorInstrumentation::didLoadXHRSynchronously): * inspector/InspectorResourceAgent.cpp: (WebCore::InspectorResourceAgent::willSendRequest): (WebCore::InspectorResourceAgent::didReceiveResponse): (WebCore::InspectorResourceAgent::setInitialXHRContent): (WebCore::InspectorResourceAgent::didReceiveXHRResponse): (WebCore::InspectorResourceAgent::willLoadXHRSynchronously): (WebCore::InspectorResourceAgent::didLoadXHRSynchronously): (WebCore::InspectorResourceAgent::getResourceContent): (WebCore::InspectorResourceAgent::mainFrameNavigated): (WebCore::InspectorResourceAgent::InspectorResourceAgent): * inspector/InspectorResourceAgent.h: * inspector/NetworkResourcesData.cpp: Added. (WebCore::NetworkResourcesData::ResourceData::ResourceData): (WebCore::NetworkResourcesData::ResourceData::content): (WebCore::NetworkResourcesData::ResourceData::appendContent): (WebCore::NetworkResourcesData::ResourceData::purgeContent): (WebCore::NetworkResourcesData::NetworkResourcesData): (WebCore::NetworkResourcesData::~NetworkResourcesData): (WebCore::NetworkResourcesData::resourceCreated): (WebCore::NetworkResourcesData::responseReceived): (WebCore::NetworkResourcesData::didReceiveXHRResponse): (WebCore::NetworkResourcesData::addResourceContent): (WebCore::NetworkResourcesData::isXHR): (WebCore::NetworkResourcesData::data): (WebCore::NetworkResourcesData::clear): (WebCore::NetworkResourcesData::ensureFreeSpace): * inspector/NetworkResourcesData.h: Added. (WebCore::NetworkResourcesData::ResourceData::identifier): (WebCore::NetworkResourcesData::ResourceData::loaderId): (WebCore::NetworkResourcesData::ResourceData::frameId): (WebCore::NetworkResourcesData::ResourceData::setFrameId): (WebCore::NetworkResourcesData::ResourceData::url): (WebCore::NetworkResourcesData::ResourceData::setUrl): (WebCore::NetworkResourcesData::ResourceData::isXHR): (WebCore::NetworkResourcesData::ResourceData::setIsXHR): (WebCore::NetworkResourcesData::ResourceData::hasContent): (WebCore::NetworkResourcesData::ResourceData::isContentPurged): (WebCore::NetworkResourcesData::ResourceData::setIsContentPurged): * inspector/front-end/NetworkManager.js: (WebInspector.NetworkManager.prototype.requestContent): (WebInspector.NetworkDispatcher.prototype._appendRedirect): * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkPanel.prototype._appendResource): (WebInspector.NetworkPanel.prototype._frameNavigated): * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveResponse): (WebCore::DocumentThreadableLoader::receivedCancellation): (WebCore::DocumentThreadableLoader::loadRequest): * loader/DocumentThreadableLoader.h: * loader/ThreadableLoaderClient.h: (WebCore::ThreadableLoaderClient::didReceiveResponse): (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation): * loader/ThreadableLoaderClientWrapper.h: (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse): (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation): * loader/WorkerThreadableLoader.cpp: (WebCore::workerContextDidReceiveResponse): (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse): (WebCore::workerContextDidReceiveAuthenticationCancellation): (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation): * loader/WorkerThreadableLoader.h: * notifications/Notification.cpp: (WebCore::Notification::didReceiveResponse): (WebCore::Notification::didReceiveAuthenticationCancellation): * notifications/Notification.h: * page/EventSource.cpp: (WebCore::EventSource::didReceiveResponse): * page/EventSource.h: * workers/WorkerScriptLoader.cpp: (WebCore::WorkerScriptLoader::didReceiveResponse): (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation): * workers/WorkerScriptLoader.h: * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::createRequest): (WebCore::XMLHttpRequest::didReceiveResponse): (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation): * xml/XMLHttpRequest.h: 2011-06-16 Hayato Ito Reviewed by Hajime Morita. Show child elements of a shadow host in Node::showTreeForThisAcrossFrame. https://bugs.webkit.org/show_bug.cgi?id=62782 To make an implementation simple, get rid of traverseNextNodeAcrossFrame and traverse each Node recursively. No new tests since the function is only available in debug builds. * dom/Node.cpp: (WebCore::showSubTreeAcrossFrame): (WebCore::Node::showTreeForThisAcrossFrame): 2011-06-16 Gyuyoung Kim Reviewed by Kent Tamura. [EFL] Move Initialization of defaultFontSize to top of file. https://bugs.webkit.org/show_bug.cgi?id=62787 * platform/efl/RenderThemeEfl.cpp: Move Initialize code of defaultFontSize to top. 2011-06-16 Sheriff Bot Unreviewed, rolling out r88796. http://trac.webkit.org/changeset/88796 https://bugs.webkit.org/show_bug.cgi?id=62790 It made fast/dom/nodesFromRect-basic.html time out on Qt, 64-bit, debug mode (Requested by Ossy on #webkit). * bridge/qt/qt_runtime.cpp: (JSC::Bindings::convertValueToQVariant): 2011-06-16 Adam Barth Reviewed by Eric Seidel. Remove HTMLVideoElement::processingUserGesture https://bugs.webkit.org/show_bug.cgi?id=62784 HTMLMediaElement shouldn't have its own notion of the user gesture state. It should just use the normal user gesture state. Also, there's no point in having the bindings send the user gesture state in a boolean parameter. * WebCore.exp.in: * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::removedFromDocument): (WebCore::HTMLMediaElement::load): (WebCore::HTMLMediaElement::play): (WebCore::HTMLMediaElement::pause): (WebCore::HTMLMediaElement::beginScrubbing): (WebCore::HTMLMediaElement::resume): * html/HTMLMediaElement.h: * html/HTMLMediaElement.idl: * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitEnterFullscreen): * html/HTMLVideoElement.h: (WebCore::HTMLVideoElement::webkitEnterFullScreen): * html/HTMLVideoElement.idl: * html/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler): * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlSeekButtonElement::defaultEventHandler): 2011-06-16 Sheriff Bot Unreviewed, rolling out r89011. http://trac.webkit.org/changeset/89011 https://bugs.webkit.org/show_bug.cgi?id=62789 Broke mac build (Requested by vitalyr_ on #webkit). * platform/chromium/ScrollAnimatorChromiumMac.h: * platform/chromium/ScrollAnimatorChromiumMac.mm: (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]): (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]): (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac): (WebCore::ScrollAnimatorChromiumMac::scroll): (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent): (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent): (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture): (WebCore::ScrollAnimatorChromiumMac::snapRubberBand): (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired): * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: 2011-06-16 Sailesh Agrawal Reviewed by James Robinson. [Chromium] Update forked ScrollAnimatorChromiumMac.mm/h https://bugs.webkit.org/show_bug.cgi?id=62779 Updated ScrollAnimatorChromiumMac.mm/h with the latest code in WebCore/platform/mac/ScrollAnimatorMac.mm/h * platform/chromium/ScrollAnimatorChromiumMac.h: (WebCore::ScrollAnimatorChromiumMac::setNeedsScrollerStyleUpdate): (WebCore::ScrollAnimatorChromiumMac::needsScrollerStyleUpdate): * platform/chromium/ScrollAnimatorChromiumMac.mm: (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]): (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]): (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac): (WebCore::ScrollAnimatorChromiumMac::scroll): (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPointForScrollAnimation): (WebCore::isScrollingLeftAndShouldNotRubberBand): (WebCore::isScrollingRightAndShouldNotRubberBand): (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent): (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent): (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture): (WebCore::ScrollAnimatorChromiumMac::snapRubberBand): (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired): (WebCore::ScrollAnimatorChromiumMac::setIsActive): (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle): * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: (wkScrollbarPainterControllerStyle): 2011-06-15 Mikhail Naganov Reviewed by Pavel Feldman. WebInspector [Chromium]: Make heap snapshots UI more responsive. https://bugs.webkit.org/show_bug.cgi?id=62360 Two changes have been made: - when we request elements, sort array only partially; - when populating children, do it in batches; * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * inspector/front-end/DetailedHeapshotGridNodes.js: (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize): (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved): (WebInspector.HeapSnapshotGridNode.prototype.populateChildren): * inspector/front-end/HeapSnapshot.js: (WebInspector.HeapSnapshotFilteredOrderedIterator): (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems): (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind): (WebInspector.HeapSnapshotEdgesProvider.prototype.sort): (WebInspector.HeapSnapshotNodesProvider.prototype.sort): * inspector/front-end/HeapSnapshotWorker.js: * inspector/front-end/PartialQuickSort.js: Added. * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.html: 2011-06-15 Adam Barth Reviewed by Eric Seidel. Remove Event::fromUserGesture https://bugs.webkit.org/show_bug.cgi?id=62778 This function is a remnant from the old user-gesture design. The list of events here is redundant with our selection of call sites for setting the user gesture indicator. As part of this patch, I've also cleaned up the implementation of UserGestureIndicator itself to always be definite about whether we're processing a user gesture. We now start out in a definite state (no user gesture) and inductively state in a definite state. * WebCore.exp.in: * bindings/js/ScriptController.cpp: (WebCore::ScriptController::processingUserGesture): * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::processingUserGesture): * dom/Event.cpp: * dom/Event.h: * dom/UserGestureIndicator.cpp: (WebCore::isDefinite): (WebCore::UserGestureIndicator::UserGestureIndicator): (WebCore::UserGestureIndicator::~UserGestureIndicator): * dom/UserGestureIndicator.h: (WebCore::UserGestureIndicator::processingUserGesture): * html/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler): * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlSeekButtonElement::defaultEventHandler): * html/shadow/TextControlInnerElements.cpp: (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): 2011-06-08 Keishi Hattori Reviewed by Kent Tamura. Fix range element not updating when value attribute is set with JS https://bugs.webkit.org/show_bug.cgi?id=61857 Test: fast/forms/range-set-attribute.html * html/RangeInputType.cpp: (WebCore::RangeInputType::minOrMaxAttributeChanged): Changed to only sanitize the value when the dirty value flag is true. 2011-06-15 Adam Barth Unreviewed. (Technically I should get this reviewed, but I accidentally committed part of this patch in my previous commit, causing a build break.) Remove ScriptController::m_processingTimerCallback https://bugs.webkit.org/show_bug.cgi?id=62776 This variable is unused. (It used to be used in a user gesture detection hack.) * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::ScriptController): * bindings/js/ScriptController.h: * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::ScriptController): * bindings/v8/ScriptController.h: 2011-06-15 Kent Tamura Reviewed by Dimitri Glazkov. [Chromium][Qt] Some slider clicking tests fail. https://bugs.webkit.org/show_bug.cgi?id=62683 When we pressed a mouse button on a slider thumb, SliderThumbElement::startDragging() were called twice. - From SliderThumbElement::defaultEventHandler(), and - from RangeInputType::handleMouseDownEvent() The latter is not needed. We should call setDefaultHandled() correctly. * html/RangeInputType.cpp: (WebCore::RangeInputType::handleMouseDownEvent): Calls setDefaultHandled() * html/shadow/SliderThumbElement.cpp: (WebCore::SliderThumbElement::setPositionFromPoint): Remove FIXME comments. (WebCore::SliderThumbElement::defaultEventHandler): Calls setDefaultHandled() 2011-06-15 Adam Barth Reviewed by Anders Carlsson. Remove ScriptController::isJavaScriptAnchorNavigation https://bugs.webkit.org/show_bug.cgi?id=62775 This function no longer plays a role in the user gesture code now that we're not encoding the user gesture state into the ScriptSourceCode URL. * bindings/js/ScriptController.cpp: (WebCore::ScriptController::processingUserGesture): * bindings/js/ScriptController.h: * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::processingUserGesture): 2011-06-15 Adam Barth Reviewed by Eric Seidel. Remove ScriptController::setAllowPopupsFromPlugin https://bugs.webkit.org/show_bug.cgi?id=62706 This API is just a poor man's UserGestureIndicator. We should use the real deal. * bindings/js/ScriptController.cpp: (WebCore::ScriptController::ScriptController): (WebCore::ScriptController::processingUserGesture): * bindings/js/ScriptController.h: * bindings/v8/NPV8Object.cpp: (_NPN_EvaluateHelper): * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::ScriptController): (WebCore::ScriptController::processingUserGesture): * bindings/v8/ScriptController.h: 2011-06-15 Adam Barth Reviewed by Eric Seidel. Remove forceUserGesture bool in favor of UserGestureIndicator https://bugs.webkit.org/show_bug.cgi?id=62702 This patch is an intermediate step towards removing the forceUserGesture bool. In this patch, we use the user gesture indicator to store the gesture state instead of encoding it in the URL of the script source code. In a future patch, we'll push the indicator higher up the stack, closer to the reason for setting it. * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeScript): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::executeScriptInWorld): 2011-06-15 Rob Buis Reviewed by Darin Adler. Try to use fastGetAttribute where possible https://bugs.webkit.org/show_bug.cgi?id=62747 Use the fast versions of get/hasAttribute where we can. No new tests since this is a simple cleanup. * svg/SVGAElement.cpp: (WebCore::SVGAElement::title): (WebCore::SVGAElement::defaultEventHandler): * svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::glyphRef): (WebCore::SVGAltGlyphElement::format): (WebCore::SVGAltGlyphElement::glyphElement): * svg/SVGAnimateMotionElement.cpp: (WebCore::SVGAnimateMotionElement::rotateMode): (WebCore::SVGAnimateMotionElement::animationPath): * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::animationMode): (WebCore::SVGAnimationElement::calcMode): (WebCore::SVGAnimationElement::attributeType): (WebCore::SVGAnimationElement::toValue): (WebCore::SVGAnimationElement::byValue): (WebCore::SVGAnimationElement::fromValue): (WebCore::SVGAnimationElement::isAdditive): (WebCore::SVGAnimationElement::isAccumulated): (WebCore::SVGAnimationElement::startedActiveInterval): * svg/SVGElement.cpp: (WebCore::SVGElement::xmlbase): * svg/SVGFontElement.cpp: (WebCore::SVGFontElement::ensureGlyphCache): * svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::unitsPerEm): (WebCore::SVGFontFaceElement::xHeight): (WebCore::SVGFontFaceElement::horizontalOriginX): (WebCore::SVGFontFaceElement::horizontalOriginY): (WebCore::SVGFontFaceElement::horizontalAdvanceX): (WebCore::SVGFontFaceElement::verticalOriginX): (WebCore::SVGFontFaceElement::verticalOriginY): (WebCore::SVGFontFaceElement::verticalAdvanceY): (WebCore::SVGFontFaceElement::ascent): (WebCore::SVGFontFaceElement::descent): * svg/SVGFontFaceNameElement.cpp: (WebCore::SVGFontFaceNameElement::srcValue): * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::srcValue): (WebCore::SVGFontFaceUriElement::loadFont): * svg/SVGGlyphElement.cpp: (WebCore::parseSVGGlyphAttribute): (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier): (WebCore::SVGGlyphElement::buildGlyphIdentifier): * svg/SVGHKernElement.cpp: (WebCore::SVGHKernElement::buildHorizontalKerningPair): * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::contentScriptType): (WebCore::SVGSVGElement::contentStyleType): * svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::type): (WebCore::SVGStyleElement::media): (WebCore::SVGStyleElement::title): * svg/SVGVKernElement.cpp: (WebCore::SVGVKernElement::buildVerticalKerningPair): * svg/animation/SVGSMILElement.cpp: (WebCore::SVGSMILElement::insertedIntoDocument): (WebCore::SVGSMILElement::parseMappedAttribute): (WebCore::SVGSMILElement::restart): (WebCore::SVGSMILElement::fill): (WebCore::SVGSMILElement::xlinkHref): (WebCore::SVGSMILElement::dur): (WebCore::SVGSMILElement::repeatDur): (WebCore::SVGSMILElement::repeatCount): (WebCore::SVGSMILElement::maxValue): (WebCore::SVGSMILElement::minValue): 2011-06-15 Abhishek Arya Reviewed by Antti Koivisto. Revert speculative fix in r84151. It caused some issues with stylesheet lifetimes. https://bugs.webkit.org/show_bug.cgi?id=62586 Tests: fast/dom/body-clone-link-decl-parent-crash.html fast/dom/styled-clone-inline-style-decl-parent-crash.html fast/dom/styled-not-in-document-clone-inline-style-decl-parent-crash.html * dom/Document.cpp: (WebCore::Document::removedLastRef): 2011-06-15 Gyuyoung Kim Reviewed by Kent Tamura. [EFL] Implement animationXXX functions for Progress Tag https://bugs.webkit.org/show_bug.cgi?id=62713 Progress tag need to implement acnimationXXX functions in order to show animation of progress tag. Because, RenderProgress decides to show update progress bar's animation according to the functions. * platform/efl/RenderThemeEfl.cpp: (WebCore::RenderThemeEfl::animationRepeatIntervalForProgressBar): (WebCore::RenderThemeEfl::animationDurationForProgressBar): * platform/efl/RenderThemeEfl.h: 2011-06-15 Sam Weinig Reviewed by Alexey Proskuryakov. Frequent crashes due to null frame below ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache https://bugs.webkit.org/show_bug.cgi?id=62764 This is an non-reproducible high volume crash, so no test :(. * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::detachFromFrame): Be conservative and stop loading when we detach a document loader from a frame. 2011-06-15 Beth Dakin Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=62746 Crash possible when switching scrollbar appearance preference on Mac -and corresponding- This crash happens because the current mechanism that is intended to flag ScrollAnimators as being in the page cache or not does not work correctly. Long-term the fix for this is to move the ScrollableArea HashSet to a more appropriate place. In the meantime, this patch addresses the crash by getting rid of the m_isActive bool on ScrollAnimator that was intended to represent whether or not the ScrollableArea is in the page cache. Instead, ScrollableArea implementations now have their own functions to compute whether they are in active pages. ScrollAnimator::setIsActive() needs to be kept around even though there is no bool to flip anymore because scrollbars may need to be properly updated if the appearance was switched while the document was in the page cache. No longer call FrameView::setAnimatorsAreActive() from Document::setIsInPageCache(), instead call it in Document::documentDidBecomeActive() * dom/Document.cpp: (WebCore::Document::setInPageCache): (WebCore::Document::documentDidBecomeActive): ScrollableAreas can now assess whether or not they are on active pages (ie, not in the page cache). * platform/ScrollableArea.h: (WebCore::ScrollableArea::isOnActivePage): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::isOnActivePage): * rendering/RenderLayer.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::isOnActivePage): * rendering/RenderListBox.h: A FrameView cannot access its Document when it's in the page cache, so it usually determines whether it's in the page cache by checking if its frame points to a FrameView other than itself. * page/FrameView.cpp: (WebCore::FrameView::isOnActivePage): Make sure ScrollableAreas are on active pages before setting them as active. This will not be necessary when the HashSet become a per-web page HashSet. (WebCore::FrameView::setAnimatorsAreActive): * page/FrameView.h: ScrollAnimator no longer tracks the m_isActive bool. * platform/ScrollAnimator.cpp: (WebCore::ScrollAnimator::ScrollAnimator): * platform/ScrollAnimator.h: (WebCore::ScrollAnimator::setIsActive): setIsActive() now exclusively calls updateScrollStyle() if there is a pending need to do so. * platform/mac/ScrollAnimatorMac.h: * platform/mac/ScrollAnimatorMac.mm: (WebCore::ScrollAnimatorMac::setIsActive): Return early if the ScrollableArea is in the page cache. (WebCore::ScrollAnimatorMac::updateScrollerStyle): 2011-06-15 Simon Fraser Reviewed by Dan Bernstein. Have Document keep track of whether scroll listeners are registered https://bugs.webkit.org/show_bug.cgi?id=62757 To avoid extra work dispatching scroll events when there are no listeners, have Document keep track of whether any scroll listeners are registered, just like it does for some other event types. * dom/Document.cpp: (WebCore::Document::addListenerTypeIfNeeded): * dom/Document.h: * dom/EventQueue.cpp: (WebCore::EventQueue::enqueueOrDispatchScrollEvent): 2011-06-15 Dimitri Glazkov Reviewed by Adam Barth. Clarify FileChooser creation code. https://bugs.webkit.org/show_bug.cgi?id=62756 initialize() method is only used once and that is not obvious, so just fold it into the create method. Refactoring, no change in behavior. * platform/FileChooser.cpp: (WebCore::FileChooser::create): Folded initialize() code there. * platform/FileChooser.h: Removed decl. 2011-06-15 Eric Carlson Reviewed by Alexey Proskuryakov. MediaPlayerPrivate should not know about application cache https://bugs.webkit.org/show_bug.cgi?id=62648 Test: http/tests/appcache/video.html * html/HTMLMediaElement.cpp: (WebCore::createFileURLForApplicationCacheResource): Create a url for a file in the application cache folder. (WebCore::HTMLMediaElement::loadResource): Change url to point to file in the application cache if necessary. (WebCore::HTMLMediaElement::mediaLoadingFailed): Split failure logic out of setNetworkState so it can be called when asked to load a file that is not in the application cache. (WebCore::HTMLMediaElement::setNetworkState): Move failure logic out to mediaLoadingFailed. * html/HTMLMediaElement.h: * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Remove app cache logic. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Ditto. * platform/graphics/mac/MediaPlayerPrivateQTKit.h: * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivateQTKit::loadInternal): Ditto. * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): Ditto. 2011-06-15 Mark Pilgrim Reviewed by Tony Chang. IndexedDB: indexedDB.open() name argument is required https://bugs.webkit.org/show_bug.cgi?id=62398 Test: storage/indexeddb/database-name-undefined.html * storage/IDBFactory.idl: use appropriate IDL magic to force undefined values to null, so we handle missing arguments as well as null arguments 2011-06-15 Tony Chang Reviewed by Ojan Vafai. Rename RenderFlexibleBox to RenderDeprecatedFlexibleBox https://bugs.webkit.org/show_bug.cgi?id=62670 * CMakeLists.txt: * GNUmakefile.list.am: * WebCore.gypi: * WebCore.order: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * html/shadow/MediaControlElements.cpp: (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay): (WebCore::RenderMediaControlTimeDisplay::layout): * html/shadow/SliderThumbElement.cpp: (WebCore::RenderSliderContainer::RenderSliderContainer): (WebCore::RenderSliderContainer::layout): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::createAnonymousBlock): * rendering/RenderBox.cpp: * rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): (WebCore::RenderButton::addChild): (WebCore::RenderButton::removeChild): * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::FlexBoxIterator::FlexBoxIterator): (WebCore::FlexBoxIterator::reset): (WebCore::FlexBoxIterator::first): (WebCore::FlexBoxIterator::next): (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox): (WebCore::RenderDeprecatedFlexibleBox::~RenderDeprecatedFlexibleBox): (WebCore::marginWidthForChild): (WebCore::RenderDeprecatedFlexibleBox::calcHorizontalPrefWidths): (WebCore::RenderDeprecatedFlexibleBox::calcVerticalPrefWidths): (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths): (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): (WebCore::gatherFlexChildrenInfo): (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp): (WebCore::RenderDeprecatedFlexibleBox::placeChild): (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex): (WebCore::RenderDeprecatedFlexibleBox::renderName): * rendering/RenderDeprecatedFlexibleBox.h: (WebCore::RenderDeprecatedFlexibleBox::avoidsFloats): (WebCore::RenderDeprecatedFlexibleBox::isFlexibleBox): (WebCore::RenderDeprecatedFlexibleBox::isFlexingChildren): (WebCore::RenderDeprecatedFlexibleBox::isStretchingChildren): (WebCore::RenderDeprecatedFlexibleBox::hasMultipleLines): (WebCore::RenderDeprecatedFlexibleBox::isVertical): (WebCore::RenderDeprecatedFlexibleBox::isHorizontal): * rendering/RenderDetails.h: Removed the header since it wasn't actually needed. Looks like a copy/paste error from RenderButton.h. * rendering/RenderFullScreen.cpp: (RenderFullScreen::RenderFullScreen): (RenderFullScreen::destroy): * rendering/RenderFullScreen.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): (WebCore::RenderMenuList::createInnerBlock): (WebCore::RenderMenuList::removeChild): * rendering/RenderMenuList.h: * rendering/RenderObject.cpp: (WebCore::RenderObject::createObject): * rendering/RenderingAllInOne.cpp: 2011-06-15 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: Serious performance regression during continuous focused element style updates https://bugs.webkit.org/show_bug.cgi?id=61038 Inline style invalidation events are coalesced in the backend and sent over the wire on timer. * inspector/Inspector.json: * inspector/InspectorDOMAgent.cpp: (WebCore::RevalidateStyleAttributeTask::onTimer): (WebCore::InspectorDOMAgent::getAttributes): (WebCore::InspectorDOMAgent::didModifyDOMAttr): (WebCore::InspectorDOMAgent::styleAttributeInvalidated): * inspector/InspectorDOMAgent.h: * inspector/InspectorStyleSheet.cpp: (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute): (WebCore::InspectorStyleSheetForInlineStyle::text): (WebCore::InspectorStyleSheetForInlineStyle::setStyleText): (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady): (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges): * inspector/InspectorStyleSheet.h: * inspector/front-end/DOMAgent.js: (WebInspector.DOMAgent): (WebInspector.DOMAgent.prototype._attributesUpdated): (WebInspector.DOMAgent.prototype._loadNodeAttributesSoon): (WebInspector.DOMAgent.prototype._loadNodeAttributes): (WebInspector.DOMDispatcher.prototype.attributesUpdated): (WebInspector.DOMDispatcher.prototype.inlineStyleInvalidated): 2011-06-15 Jer Noble Reviewed by Timothy Hatcher. Full-screen live streams have status text in wrong location https://bugs.webkit.org/show_bug.cgi?id=62733 Fix a misspelling in the user-agent stylesheet for full-screen mode. * css/fullscreenQuickTime.css: (video:-webkit-full-screen::-webkit-media-controls-status-display): 2011-06-14 Jer Noble Reviewed by Eric Carlson. (AVFoundation) Apple event video appears as live stream and is not seekable https://bugs.webkit.org/show_bug.cgi?id=62694 No new tests; There are no media-player port specific tests yet. Work around a bug in apple.com live stream javascript controller library. When an AVAsset returns an indefinite time for its duration, return 0 if the asset has no tracks, and infinity otherwise. This keeps the apple.com controller from identifying the stored stream as a live stream. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): 2011-06-15 Andrey Kosyakov Unreviewed, rolled out r88937 (broke build on mac) * CMakeLists.txt: * GNUmakefile.list.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::didReceiveResponse): * fileapi/FileReaderLoader.h: * inspector/Inspector.json: * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didCommitLoadImpl): * inspector/InspectorInstrumentation.h: * inspector/InspectorResourceAgent.cpp: (WebCore::InspectorResourceAgent::willSendRequest): (WebCore::InspectorResourceAgent::didReceiveResponse): (WebCore::InspectorResourceAgent::setInitialXHRContent): (WebCore::InspectorResourceAgent::InspectorResourceAgent): * inspector/InspectorResourceAgent.h: * inspector/NetworkResourcesData.cpp: Removed. * inspector/NetworkResourcesData.h: Removed. * inspector/front-end/NetworkManager.js: (WebInspector.NetworkManager.prototype.requestContent): (WebInspector.NetworkDispatcher.prototype._appendRedirect): * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkPanel.prototype._appendResource): (WebInspector.NetworkPanel.prototype._frameNavigated): * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveResponse): (WebCore::DocumentThreadableLoader::receivedCancellation): (WebCore::DocumentThreadableLoader::loadRequest): * loader/DocumentThreadableLoader.h: * loader/ThreadableLoaderClientWrapper.h: (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse): (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation): * loader/WorkerThreadableLoader.cpp: (WebCore::workerContextDidReceiveResponse): (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse): (WebCore::workerContextDidReceiveAuthenticationCancellation): (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation): * loader/WorkerThreadableLoader.h: * notifications/Notification.cpp: (WebCore::Notification::didReceiveResponse): (WebCore::Notification::didReceiveAuthenticationCancellation): * notifications/Notification.h: * page/EventSource.cpp: (WebCore::EventSource::didReceiveResponse): * page/EventSource.h: * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::createRequest): (WebCore::XMLHttpRequest::didReceiveResponse): (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation): * xml/XMLHttpRequest.h: 2011-06-15 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: introduce context menu on ImageView with Copy and Open in new tab actions. https://bugs.webkit.org/show_bug.cgi?id=62727 * English.lproj/localizedStrings.js: * inspector/front-end/ImageView.js: (WebInspector.ImageView.prototype._base64ToSize): (WebInspector.ImageView.prototype._contextMenu): (WebInspector.ImageView.prototype._copyImageURL): (WebInspector.ImageView.prototype._openInNewTab): 2011-06-15 Andrey Kosyakov Reviewed by Pavel Feldman. Web Inspector: provide unique identifiers for frames https://bugs.webkit.org/show_bug.cgi?id=62721 * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::frameDestroyedImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::frameDestroyed): * inspector/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::frameForId): (WebCore::InspectorPageAgent::frameId): (WebCore::InspectorPageAgent::frameDestroyed): * inspector/InspectorPageAgent.h: * page/Frame.cpp: (WebCore::Frame::~Frame): 2011-06-15 Andrey Kosyakov Unreviewed build fix: comment unused parameter names. * loader/ThreadableLoaderClient.h: (WebCore::ThreadableLoaderClient::didReceiveResponse): (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation): 2011-06-15 Pavel Podivilov Reviewed by Yury Semikhatsky. Web Inspector: script select can be too wide. https://bugs.webkit.org/show_bug.cgi?id=62701 * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype._displayNameForScriptURL): (WebInspector.ScriptsPanel.prototype._createSourceFrame): (WebInspector.SourceFrameDelegateForScriptsPanel): (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName): * inspector/front-end/SourceFile.js: 2011-06-15 Noel Gordon Reviewed by Eric Seidel. Draw CSS outline style for render widgets: iframe, embed, object, applet. https://bugs.webkit.org/show_bug.cgi?id=57439 Draw CSS outlines for render widgets: iframe, embed, object, applet. These elements can be focused (via clicks or tabIndex) but should not have a visible focus ring by default. Tests: fast/replaced/no-focus-ring-embed.html fast/replaced/no-focus-ring-iframe.html fast/replaced/no-focus-ring-object.html fast/replaced/outline-replaced-elements.html * css/html.css: (applet:focus, embed:focus, iframe:focus, object:focus): Default to no focus ring. * rendering/RenderWidget.cpp: (WebCore::RenderWidget::paint): Paint the render widget CSS outline style. 2011-06-15 Steve Block Reviewed by Tony Gentilcore. V8PerformanceCustom.cpp lacks WEB_TIMING guards https://bugs.webkit.org/show_bug.cgi?id=62689 No new tests, build fix only. * bindings/v8/custom/V8PerformanceCustom.cpp: 2011-06-15 Sheriff Bot Unreviewed, rolling out r88916. http://trac.webkit.org/changeset/88916 https://bugs.webkit.org/show_bug.cgi?id=62728 Broke a bunch of layout tests on chromium (Requested by podivilov on #webkit). * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype._createSourceFrame): (WebInspector.SourceFrameDelegateForScriptsPanel): (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName): * inspector/front-end/SourceFile.js: (WebInspector.SourceFile.prototype.get displayName): 2011-06-15 Pavel Podivilov Reviewed by Yury Semikhatsky. Web Inspector: script links are displayed with original line number in pretty-print mode. https://bugs.webkit.org/show_bug.cgi?id=62282 * inspector/front-end/DebuggerPresentationModel.js: (WebInspector.DebuggerPresentationModel): (WebInspector.DebuggerPresentationModel.prototype.registerAnchor): (WebInspector.DebuggerPresentationModel.prototype._updateAnchor.didGetUILocation): (WebInspector.DebuggerPresentationModel.prototype._updateAnchor): (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles): (WebInspector.DebuggerPresentationModel.prototype._debuggerReset): * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkPanel.prototype.showAnchorLocation): (WebInspector.NetworkPanel.prototype._showResource): * inspector/front-end/Panel.js: (WebInspector.Panel.prototype.createAnchor): (WebInspector.Panel.prototype.formatAnchorText): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.showAnchorLocation): * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.createAnchor.): (WebInspector.ScriptsPanel.prototype.createAnchor): (WebInspector.ScriptsPanel.prototype.showAnchorLocation.didGetUILocation): (WebInspector.ScriptsPanel.prototype.showAnchorLocation): * inspector/front-end/inspector.js: (WebInspector._showAnchorLocation): (WebInspector.linkifyResourceAsNode): 2011-06-14 Hans Wennborg Reviewed by Tony Gentilcore. IndexedDB: Use fileExists() first when checking if SQLite db exists https://bugs.webkit.org/show_bug.cgi?id=62638 In IDBSQLiteBackingStore::backingStoreExists(), which is used to check if a SQLite database exists and should be considered for migration, check if the file exists first. Trying to open a SQLite database for a non-existing file prints a noisy error message in debug builds. No new functionality, no new tests. * storage/IDBSQLiteBackingStore.cpp: (WebCore::IDBSQLiteBackingStore::backingStoreExists): 2011-06-14 Alexander Pavlov Reviewed by Yury Semikhatsky. Web Inspector: "data" URLs not detected in CSS url(...) values properly https://bugs.webkit.org/show_bug.cgi?id=62643 * inspector/front-end/inspector.js: (WebInspector.completeURL): 2011-06-15 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: [REGRESSION] errors in watches and in console are not rendered in red. https://bugs.webkit.org/show_bug.cgi?id=62708 Test: inspector/debugger/error-in-watch-expressions.html * inspector/front-end/RemoteObject.js: * inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update.appendResult): (WebInspector.WatchExpressionsSection.prototype.update): (WebInspector.WatchExpressionTreeElement.prototype.update): * inspector/front-end/inspector.css: (.console-error-level .console-message-text, .console-error-level .section .header .title): (.console-formatted-object, .console-formatted-node): 2011-06-15 Carlos Garcia Campos Unreviewed. Remove unneeded constructor declaration added by mistake in r88800. * platform/gtk/GtkAuthenticationDialog.h: 2011-06-15 Pavel Podivilov Reviewed by Yury Semikhatsky. Web Inspector: script select can be too wide. https://bugs.webkit.org/show_bug.cgi?id=62701 * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype._displayNameForScriptURL): (WebInspector.ScriptsPanel.prototype._createSourceFrame): (WebInspector.SourceFrameDelegateForScriptsPanel): (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName): * inspector/front-end/SourceFile.js: 2011-06-15 Nikolas Zimmermann Reviewed by David Hyatt. CSS 2.1: Support replaced elements with relative intrinsic sizes https://bugs.webkit.org/show_bug.cgi?id=15849 CSS 2.1 failure: html4/replaced-intrinsic-ratio-001 https://bugs.webkit.org/show_bug.cgi?id=53099 Generalize the recently added SVG specific host <-> embedded document size-negotiation used to support embedding SVGs with intrinsic ratio/size via