2010-04-05 Luiz Agostini Reviewed by Kenneth Rohde Christiansen. [Qt] Maemo5 theme - wrong spelling https://bugs.webkit.org/show_bug.cgi?id=37110 Correcting wrong spelling in RenderThemeQt.cpp. * platform/qt/RenderThemeQt.cpp: 2010-04-01 Luiz Agostini Reviewed by Kenneth Rohde Christiansen. [Qt] Maemo5 theme - elements in Maemo5. * platform/qt/Maemo5Webstyle.cpp: (Maemo5WebStyle::drawMultipleComboButton): (Maemo5WebStyle::drawSimpleComboButton): (Maemo5WebStyle::getButtonImageSize): (Maemo5WebStyle::findComboButton): (Maemo5WebStyle::drawComplexControl): * platform/qt/Maemo5Webstyle.h: 2010-03-31 Luiz Agostini Reviewed by Kenneth Rohde Christiansen. [Qt] Maemo5 theme - form controls style https://bugs.webkit.org/show_bug.cgi?id=36370 Adjusting Mameo5 form elements rendering. * WebCore.pri: * WebCore.pro: * css/themeQtMaemo5.css: Added. (select): (select:disabled): (select:active): (select:active:disabled): (textarea): (textarea:disabled): (textarea:active): * platform/qt/Maemo5Webstyle.cpp: Added. (Maemo5WebStyle::Maemo5WebStyle): (drawRectangularControlBackgorund): (Maemo5WebStyle::drawChecker): (Maemo5WebStyle::findChecker): (Maemo5WebStyle::drawRadio): (Maemo5WebStyle::findRadio): (Maemo5WebStyle::drawControl): (Maemo5WebStyle::drawComplexControl): * platform/qt/Maemo5Webstyle.h: Added. * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::RenderThemeQt): (WebCore::RenderThemeQt::isControlStyled): (WebCore::RenderThemeQt::popupInternalPaddingBottom): (WebCore::RenderThemeQt::extraDefaultStyleSheet): (WebCore::RenderThemeQt::adjustMenuListButtonStyle): * platform/qt/RenderThemeQt.h: 2010-04-05 Laszlo Gombos Reviewed by Kenneth Rohde Christiansen. [Symbian] Consolidate Symbian WINSCW environment configuration https://bugs.webkit.org/show_bug.cgi?id=37100 Move the "undefinition" of WIN32 and _WIN32 from WebCore/config.h to JavaScriptCore/wtf/Platform.h as it is not specific to WebCore. No new tests as there is no new functionality. * config.h: 2010-04-05 Laszlo Gombos Reviewed by Kenneth Rohde Christiansen. Consolidate the definition of SKIP_STATIC_CONSTRUCTORS_ON_GCC Instead of defining and undefining it later, let's not define SKIP_STATIC_CONSTRUCTORS_ON_GCC for WINSCW. No new tests as there is no new functionality. * config.h: 2010-03-30 Luiz Agostini Reviewed by Kenneth Rohde Christiansen. [Qt] Maemo5 theme - QtMaemoWebPopup class https://bugs.webkit.org/show_bug.cgi?id=36790 Moving maemo5 theme related code from WebCore.pri to WebCore.pro and adding new maemo menu lists popup class source and header to the project. The code was in .pri file because of a theme css that was conditionally included. As the css file is been included unconditionally there is no need to this code to be kept in webcore.pri. * WebCore.pri: * WebCore.pro: 2010-04-02 Laszlo Gombos Reviewed by Eric Seidel. Accept XHTML-MP content type as XHTML content https://bugs.webkit.org/show_bug.cgi?id=34262 Enable processing XHTML-MP mime type as an XHTML document even if XHTML-MP support is not enabled. * platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedNonImageMimeTypes): 2010-04-01 Kenneth Rohde Christiansen Reviewed by Dave Hyatt. iframe flattening doesn't flatten https://bugs.webkit.org/show_bug.cgi?id=36798 Fixed to the iframe flattening code so that the iframes on http://www.samisite.com/test-csb2nf/id43.htm are actually flattened. Covered by current tests. * page/FrameView.cpp: Propagate contents changes of iframes and subframes in framesets to the parent so that it is relayouted (WebCore::FrameView::setContentsSize): (WebCore::FrameView::adjustViewSize): (WebCore::FrameView::scheduleRelayout): * rendering/RenderPart.cpp: HTMLIFrameElement do not inherit from HTMLFrameElement, but HTMLFrameElementBase, correct cast. Correct the use of inset border values. Avoid a sometimes unnecessary relayout. (WebCore::RenderPart::layoutWithFlattening): * rendering/RenderPartObject.cpp: Make the calcHeight and calcWidth return the right values, considering scrolling and fixed width/height (WebCore::RenderPartObject::flattenFrame): (WebCore::RenderPartObject::calcHeight): (WebCore::RenderPartObject::calcWidth): (WebCore::RenderPartObject::layout): 2010-03-31 Kenneth Rohde Christiansen Unreviewed crash fix. Crash with frame flattening on after r56854 https://bugs.webkit.org/show_bug.cgi?id=36894 Solution tested by Greg Bolsinga, thanks. * page/FrameView.cpp: (WebCore::FrameView::avoidScrollbarCreation): * platform/ScrollView.cpp: (WebCore::ScrollView::setHasHorizontalScrollbar): (WebCore::ScrollView::setHasVerticalScrollbar): 2010-03-31 Kenneth Rohde Christiansen Reviewed by Antti Koivisto. iframe flattening doesn't flatten https://bugs.webkit.org/show_bug.cgi?id=36798 Do not draw scrollbars for subframes when frame flattening is enabled. Implemented using a virtual method in ScrollView as suggested by Dave Hyatt. Do not suppress scrollbars as that is wrong according to Dave Hyatt. Covered by current tests. * page/FrameView.cpp: (WebCore::FrameView::avoidScrollbarCreation): * page/FrameView.h: * platform/ScrollView.cpp: (WebCore::ScrollView::setHasHorizontalScrollbar): (WebCore::ScrollView::setHasVerticalScrollbar): * platform/ScrollView.h: (WebCore::ScrollView::avoidScrollbarCreation): * rendering/RenderPart.cpp: (WebCore::RenderPart::layoutWithFlattening): 2010-03-30 Kenneth Rohde Christiansen Reviewed by Antti Koivisto. iframe flattening doesn't flatten https://bugs.webkit.org/show_bug.cgi?id=36798 Fix wrongly reversing logic in frame flattening check. Tests: fast/frames/flattening/iframe-flattening-fixed-height.html fast/frames/flattening/iframe-flattening-fixed-width.html fast/frames/flattening/iframe-flattening-fixed-width-and-height.html fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::flattenFrame): 2010-03-31 Benjamin Poulain Reviewed by Darin Adler. tryLayoutDoingPositionedMovementOnly does not have to be in RenderObject or be virtual https://bugs.webkit.org/show_bug.cgi?id=36810 Move tryLayoutDoingPositionedMovementOnly as a regular method of RenderBox * rendering/RenderBox.h: (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): * rendering/RenderObject.h: 2010-03-30 Stanislav Paltis Reviewed by Laszlo Gombos. [Qt] qmake/symbian build failure https://bugs.webkit.org/show_bug.cgi?id=36745 Fix build break in Symbian build introduced in r56714, by modifying comment escape character from ";" to "#". * WebCore.pro: 2010-03-29 Janne Koskinen Reviewed by Simon Hausmann. [Qt] Package build fixes for Symbian * enable building standalone QtWebkit for Symbian using qtlibinfix configuration option qtlibinfix adds possibility having multiple versions of Qt in Symbian devices. Fix also allows unfrozen DLL exports during development. * Removed heap size configuration. DLLs don't have a heap. * Removed enforcement to def files for package builds. Instead inherit the setting from Qt's qconfig.pri whether to use def files or not. It's still possible to override this also at qmake time by passing CONFIG+=def_files. * WebCore.pro: 2010-03-26 Kenneth Rohde Christiansen Reviewed by Antti Koivisto. Implement flattening for iframes. Refactoring of frameset flattening code to reuse it for iframe flattening. Tests: fast/frames/flattening/iframe-flattening-simple.html * WebCore.base.exp: * page/FrameView.cpp: (WebCore::FrameView::layout): (WebCore::FrameView::scheduleRelayout): * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setFrameFlatteningEnabled): * page/Settings.h: (WebCore::Settings::frameFlatteningEnabled): * rendering/RenderFrame.cpp: * rendering/RenderFrame.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::flattenFrameSet): * rendering/RenderFrameSet.h: * rendering/RenderPart.cpp: (WebCore::RenderPart::layoutWithFlattening): * rendering/RenderPart.h: * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::flattenFrame): (WebCore::RenderPartObject::calcHeight): (WebCore::RenderPartObject::calcWidth): (WebCore::RenderPartObject::layout): * rendering/RenderPartObject.h: 2010-03-30 Laszlo Gombos Reviewed by David Kilzer. Guard Geolocation files with ENABLE_GEOLOCATION https://bugs.webkit.org/show_bug.cgi?id=25756 The intent is to guard the Geolocation implementation files and minimize the impact on on clients/call sites. * DerivedSources.make: * WebCore.Geolocation.exp: Added. Exported interfaces if GEOLOCATION is enabled. * WebCore.base.exp: * bindings/js/JSCustomPositionCallback.cpp: * bindings/js/JSCustomPositionErrorCallback.cpp: * bindings/js/JSGeolocationCustom.cpp: * page/Geolocation.cpp: (WebCore::Geolocation::disconnectFrame): Stub implementation if GEOLOCATION is turned off. (WebCore::Geolocation::Geolocation): Ditto. (WebCore::Geolocation::~Geolocation): Ditto. (WebCore::Geolocation::setIsAllowed): Ditto. * page/Geolocation.h: * page/Geolocation.idl: * page/GeolocationPositionCache.cpp: * page/Geoposition.idl: * page/PositionError.idl: * platform/GeolocationService.cpp: * platform/mock/GeolocationServiceMock.cpp: 2010-03-22 Kenneth Rohde Christiansen Reviewed by Simon Fraser. Add support for Widgets 1.0: View Mode Media Feature https://bugs.webkit.org/show_bug.cgi?id=35446 When enabling Web Widgets, add support for the view-mode media feature (http://www.w3.org/TR/widgets-vmmf/). Test: fast/media/media-feature-wgt-view-mode.html * css/CSSValueKeywords.in: * css/MediaFeatureNames.h: * css/MediaQueryEvaluator.cpp: (WebCore::view_modeMediaFeatureEval): * page/ChromeClient.h: (WebCore::ChromeClient::isDocked): (WebCore::ChromeClient::isFloating): (WebCore::ChromeClient::isApplication): (WebCore::ChromeClient::isFullscreen): 2010-03-29 Luiz Agostini Reviewed by Kenneth Rohde Christiansen. [Qt] Multiselect - Adding method itemIsSelected() to QtAbstractWebPopup https://bugs.webkit.org/show_bug.cgi?id=36769 Adding method itemIsSelected() to QtAbstractWebPopup. * platform/qt/QtAbstractWebPopup.h: (WebCore::QtAbstractWebPopup::itemIsSelected): 2010-03-29 Dawit Alemayehu Reviewed by Simon Hausmann. Added a function, WebCore::shouldTreatAsAttachment, to HTTPParsers.* https://bugs.webkit.org/show_bug.cgi?id=36395 This function, which was moved from WebKit/chromium/src/FrameClientImpl.cpp, is used to check whether or not a request is supposed to be rendered or simply downloaded based on the "Content-Disposition" header sent by the web server. The intent of code refactoring is to avoid code duplication so that this piece of code can be used by other implementations such as QtWebKit. * platform/network/HTTPParsers.cpp: (WebCore::shouldTreatAsAttachment): * platform/network/HTTPParsers.h: 2010-03-29 Jocelyn Turcotte Reviewed by nobody, build fix. [Qt] Fix build break introduced in r56724. * WebCore.pro: 2010-03-29 Jocelyn Turcotte Reviewed by Simon Hausmann. [Qt] Do not generate INSTALLS for webkit when building inside Qt. Qt will do this for us. * WebCore.pro: 2010-03-29 Antti Koivisto Reviewed by Kenneth Rohde Christiansen. https://bugs.webkit.org/show_bug.cgi?id=36703 Timer restart loop during page loading Fix regression introduced in http://trac.webkit.org/changeset/54526. Restarting the request timer unconditionally from the timer callback is a bad idea. Instead, start the timer when a non-cached request completes. * loader/loader.cpp: (WebCore::Loader::Host::nonCacheRequestComplete): (WebCore::Loader::Host::servePendingRequests): 2010-03-29 Thomas Zander Reviewed by Simon Hausmann. [Qt] Shadowbuilds of WebCore with Qt on Symbian fails. https://bugs.webkit.org/show_bug.cgi?id=36749 Doing a 'make sis' expects the dll in the libdir, so place it there. This fixes out-of-source building to always put the dll in the expected dir. * WebCore.pro: Fix for shadow builds inside Qt. 2010-03-29 Thomas Zander Reviewed by Simon Hausmann. [Qt] Make it possible to build using both Windows and Linux for Symbian https://bugs.webkit.org/show_bug.cgi?id=36748 * WebCore.pro: don't assume Windows buildsystem is the only one and exclude the windows-only setters from the linux builds. 2010-03-29 Thomas Zander Reviewed by Simon Hausmann. https://bugs.webkit.org/show_bug.cgi?id=36745 [Qt] Fix def file builds with Qt 4.7. Switched to using DEF_FILE, which is the official variable. * WebCore.pro: Use DEF_FILE 2010-03-28 Kim Grönholm Reviewed by Simon Hausmann. [Qt] GraphicsLayer: Timing functions don't work with transitions https://bugs.webkit.org/show_bug.cgi?id=36589 If the animation value doesn't have timing function set, we need to use the animation's timing function. Fixed also a bug in passing the duration to solveCubicBezierFunction. The duration was divided two times by 1000 and meanwhile casted to int. It needs to be kept as double and divided by 1000 only once. Test case: https://bugs.webkit.org/attachment.cgi?id=51619 * platform/graphics/qt/GraphicsLayerQt.cpp: (WebCore::applyTimingFunction): (WebCore::AnimationQt:::AnimationQtBase): (WebCore::AnimationQt::updateCurrentTime): 2010-03-28 Laszlo Gombos Reviewed by Simon Hausmann. [Qt] Remove the definition of WTF_CHANGES guards from the build system https://bugs.webkit.org/show_bug.cgi?id=31670 No new tests as there is no new functionality. * WebCore.pri: Remove the definition of WTF_CHANGES as it is already defined in config.h 2010-03-26 Janne Koskinen Reviewed by Laszlo Gombos. Don't undefine SKIP_STATIC_CONSTRUCTORS_ON_GCC for Symbian HW targets. https://bugs.webkit.org/show_bug.cgi?id=34081 Defining StringImpl instances as globals will cause a crash on process exit as StringImpl::Remove expects TLS which was already deleted at time of exiting main and ends up constructing one exiting thread. * config.h: 2010-03-26 Jocelyn Turcotte Reviewed by Simon Hausmann. [Qt] Build JavaScriptCore as a static library. https://bugs.webkit.org/show_bug.cgi?id=36590 This patch takes what was left of the unused JavaScriptCore.pro and moved the compilation logic from JavaScriptCore.pri to JavaScriptCore.pro. * WebCore.pro: 2010-03-25 Jakub Wieczorek Reviewed by Eric Seidel. [Qt] RenderTheme: fix size adjustment for text fields https://bugs.webkit.org/show_bug.cgi?id=36413 To match other ports, remove the hardcoded dimensions for text fields so that the default ones from WebCore can be used. Properly apply the correct padding to text areas - this fixes their appearance with the Oxygen style. * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::computeSizeBasedOnStyle): 2010-03-26 Qi Zhang Reviewed by Laszlo Gombos. [Qt] fast/canvas/drawImage-with-negative-source-destination.html failed https://bugs.webkit.org/show_bug.cgi?id=35005 To support negative width or height at context.drawImage * platform/graphics/qt/StillImageQt.cpp: (WebCore::StillImage::draw): 2010-03-24 Dmitry Titov Unreviewed, Chromium test fix. Recent r56445 added CustomEvent and a test but it didn't work on Chromium bots. Test crashed due to infinte recursion because the compiler did not have the right definition of toV8(CustomEvent*) and was substituting toV8(Event*). Fixing test fast/events/custom-event.html * bindings/v8/custom/V8EventCustom.cpp: 2010-03-03 Kenneth Rohde Christiansen Reviewed by Antti Koivisto. Add support for DOM Level 3 Custom Event http://www.w3.org/TR/DOM-Level-3-Events V8 Generator change by Nate Chapin , Thanks! Test: fast/events/custom-event.html * DerivedSources.cpp: * GNUmakefile.am: * WebCore.gypi: * WebCore.pri: * WebCore.pro: * WebCore/DerivedSources.make: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorV8.pm: * dom/CustomEvent.cpp: Added. (WebCore::CustomEvent::CustomEvent): (WebCore::CustomEvent::initCustomEvent): (WebCore::CustomEvent::isCustomEvent): * dom/CustomEvent.h: Added. (WebCore::CustomEvent::create): (WebCore::CustomEvent::detail): * dom/Document.cpp: (WebCore::Document::createEvent): * dom/Event.cpp: (WebCore::Event::isCustomEvent): * dom/Event.h: 2010-03-23 Kenneth Rohde Christiansen Reviewed by Simon Hausmann. Add a way to check if the page client is making use of a QWidget. * platform/qt/QWebPageClient.h: (QWebPageClient::isQWidgetClient): 2010-03-25 Antti Koivisto Reviewed by Kenneth Rohde Christiansen. https://bugs.webkit.org/show_bug.cgi?id=36316 Tiles of selected content do not update if not in viewport Don't clip repaints to viewport when tiling is enabled. * page/Frame.cpp: (WebCore::Frame::setView): (WebCore::Frame::setTiledBackingStoreEnabled): 2010-03-25 Tor Arne Vestbø Reviewed by Simon Hausmann. [Qt] Implement ChromeClient::windowResizerRect() https://bugs.webkit.org/show_bug.cgi?id=21300 The helper function geometryRelativeToOwnerWidget() in the page client is used to clip the resize rect to the actual size of the viewport, not the size of the QGraphicsView. * platform/qt/QWebPageClient.h: 2010-03-26 Olivier Goffart Reviewed by Simon Hausmann. [Qt] Fix compilation on Windows For some reason, the MSVC compiler choose the operator+(const QString &, const QString &) instead of operator+(const WebCore::String &, const WebCore::String &) resulting in errors when QT_USE_FAST_OPERATOR_PLUS is used. * dom/XMLTokenizerQt.cpp: (WebCore::handleElementNamespaces): 2010-03-25 Diego Gonzalez Reviewed by Eric Seidel. Missing forward ENABLE_DATALIST macro to JavaScript enabled features macros on WebKit.pri [Qt] Forward ENABLE_DATALIST macro to JavaScript enabled macros https://bugs.webkit.org/show_bug.cgi?id=36547 * WebCore.pri: 2010-03-25 Simon Hausmann Reviewed by Kenneth Rohde Christiansen. [Qt] Fix the package build on Maemo 5 https://bugs.webkit.org/show_bug.cgi?id=36607 Always embed the stylesheet for the no-listbox rendering. This way it'll be included in the generated files for the package generation. * WebCore.pri: 2010-03-19 Miikka Heikkinen Reviewed by Simon Hausmann. [Qt] Support for QT_LIBINFIX in Symbian builds Configuring Qt with -qtlibinfix parameter will enable installing an alternate version of Qt on devices that already have it on ROM. This patch provides support for infixed builds of Webkit. * WebCore.pro: 2010-03-24 Kent Tamura Reviewed by Darin Adler. Make Icon::createIconForFiles() optional. https://bugs.webkit.org/show_bug.cgi?id=35072 r54923 made Icon::createIconForFiles() deprecated. However moving existing icon loading code to outside of WebCore is not good. So, we assume: - ChromeClient::chooseIconForFiles(), renamed from iconForFiles(), is the primary API to load icons. - Icon::createIconForFiles() is an optional API to help implementing ChromeClient::iconForFiles(). This patch removes a call to Icon::createIconForFiles() from FileChooser::loadIcon(), and ChromeClient::chooseIconForFiles() of non-Chromium ports calls Icon::createIconForFiles(). * WebCore.base.exp: Export FileChooser::iconLoaded(), Icon::createIconForFiles(), and Icon::~Icon(). * WebCore.xcodeproj/project.pbxproj: Export Icon.h * loader/EmptyClient.h: Rename iconForFiles() to chooseIconForFiles(). * page/Chrome.cpp: ditto. * page/Chrome.h: ditto. * page/ChromeClient.h: ditto. * platform/FileChooser.cpp: (WebCore::FileChooser::loadIcon): * platform/graphics/Icon.h: Remove a comment on createIconForFiles(). * platform/graphics/chromium/IconChromiumLinux.cpp: Remove createIconForFiles(). * platform/graphics/chromium/IconChromiumMac.cpp: ditto. * platform/graphics/chromium/IconChromiumWin.cpp: ditto. * rendering/RenderFileUploadControl.cpp: Rename iconForFiles() to chooseIconForFiles(). * rendering/RenderFileUploadControl.h: ditto. 2010-03-23 Dan Bernstein Fixed typos. * manual-tests/plugin-visible-rect-change.html: 2010-03-23 Dan Bernstein Reviewed by John Sullivan. WebCore part of Plug-in clip rect does not update when overflow clip changes https://bugs.webkit.org/show_bug.cgi?id=36479. * manual-tests/plugin-visible-rect-change.html: Added. * platform/mac/WidgetMac.mm: (WebCore::WidgetPrivate::WidgetPrivate): Added previousVisibleRect. (WebCore::Widget::setFrameRect): If the visible rect changed but the frame rect did not, send a -visibleRectDidChange message to the view, if it responds to it. (WebCore::Widget::releasePlatformWidget): Reset previousVisibleRect. * rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidgetGeometry): Track changes to the clip rect imposed by the enclosing layer. Call Widget::setFrameRect when it changes, even if the frame rect did not. * rendering/RenderWidget.h: (WebCore::RenderWidget::windowClipRect): Added this accessor. 2010-03-23 Simon Fraser Reviewed by Dan Bernstein. Assertion ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com https://bugs.webkit.org/show_bug.cgi?id=34065 Fix another cause of assertions related to the clip rects root. Embeds with zero size caused the overlap testing to fail, yet we require them to work for correct compositing, so when the composited bounds is empty, use a 1x1 rect for overlap testing. Test: compositing/geometry/empty-embed-rects.html * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::addToOverlapMap): (WebCore::RenderLayerCompositor::computeCompositingRequirements): 2010-03-23 David Levin Reviewed by Nate Chapin. [chromium] XMLHttpRequest.send sends 'undefined' string when passed undefined value. https://bugs.webkit.org/show_bug.cgi?id=36506 Test: http/tests/xmlhttprequest/send-undefined-and-null.html * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: (WebCore::isDocumentType): Unrelated style fix: fixed the casing of the method. (WebCore::V8XMLHttpRequest::sendCallback): Added check for null/undefined to do the send. This mirrors what is done in the JSC bindings. Previously, sending 'null' worked because the last case, which did "toWebCoreStringWithNullCheck", resulted in sending an empty request body. 2010-03-23 Chris Evans Reviewed by Darin Adler. Fix hard-to-see crash due to incorrect libxml API usage. https://bugs.webkit.org/show_bug.cgi?id=36000 Test: fast/text/bad-encoding.html * dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::doEnd): Avoid operations on a closed context. 2010-03-23 Nate Chapin Unreviewed, revert r56376. This revision introduced a crash in a couple of layout tests on Chromium Linux. * page/chromium/ChromeClientChromium.h: * platform/chromium/PopupMenuChromium.cpp: (WebCore::): (WebCore::PopupContainer::create): (WebCore::PopupContainer::PopupContainer): (WebCore::PopupContainer::showPopup): (WebCore::PopupContainer::showExternal): (WebCore::PopupContainer::hidePopup): (WebCore::PopupMenu::show): * platform/chromium/PopupMenuChromium.h: (WebCore::PopupItem::): (WebCore::PopupItem::PopupItem): (WebCore::PopupContainerSettings::): (WebCore::PopupContainer::listBox): 2010-03-23 David Hyatt Reviewed by Simon Fraser and Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=36272, make sure nth-child can work when the portion with "n" is omitted. Added fast/css/nth-child-implied-step.html * css/CSSGrammar.y: * css/tokenizer.flex: 2010-03-23 Darin Adler Reviewed by Sam Weinig. Reduce and straighten internal use of DOMImplementation https://bugs.webkit.org/show_bug.cgi?id=36501 * WebCore.xcodeproj/project.pbxproj: Xcode decided to re-sort this file. * dom/Clipboard.cpp: Removed unneeded include of DOMImplementation.h. * dom/DOMImplementation.cpp: Removed unneeded createDocument and createHTMLDocument functions. These should be done directly instead of involving the DOMImplementation class. * dom/DOMImplementation.h: Ditto. * dom/DocumentType.cpp: Removed unneeded include of DOMImplementation.h. * html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createTokenizer): Don't allocate a DOMImplementation object just to use a class member function. * loader/CachedFont.cpp: Removed unneeded include of DOMImplementation.h. * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseXML): Use Document::create to create a new document instead of involving DOMImplementation. * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::createDocumentFromSource): Ditto. And in the case where we do need to call DOMImplementation to interpret the MIME type, don't allocate a DOMImplementation object just to use a class member function. 2010-03-23 Luiz Agostini Reviewed by Kenneth Rohde Christiansen. [Qt] Maemo5 theme - all elements. * platform/qt/QtAbstractWebPopup.cpp: (WebCore::QtAbstractWebPopup::selectItem): (WebCore::QtAbstractWebPopup::multiple): * platform/qt/QtAbstractWebPopup.h: 2010-03-22 Alex Milowski Reviewed by Kenneth Rohde Christiansen. Added basic support for mfrac (fractions) Test: mathml/presentation/fractions.xhtml * WebCore.xcodeproj/project.pbxproj: * mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createRenderer): * mathml/RenderMathMLFraction.cpp: Added. (WebCore::RenderMathMLFraction::RenderMathMLFraction): (WebCore::RenderMathMLFraction::updateFromElement): (WebCore::RenderMathMLFraction::addChild): * mathml/RenderMathMLFraction.h: Added. 2010-03-22 Kevin Decker Reviewed by John Sullivan. https://bugs.webkit.org/show_bug.cgi?id=36328 * page/mac/WebCoreViewFactory.h: Added -missingPluginText method * platform/LocalizedStrings.h: Added missingPluginText() * platform/gtk/LocalizedStringsGtk.cpp: Likewise. * platform/mac/LocalizedStringsMac.mm: Same here. * platform/qt/Localizations.cpp: Ditto. 2010-03-22 Yury Semikhatsky Reviewed by Pavel Feldman. Handle worker exceptions in V8MessageHandler like it's done in regular documents. This way all worker exceptions will be logged in the console not only those which happen in event listeners. https://bugs.webkit.org/show_bug.cgi?id=31171 * bindings/v8/V8AbstractEventListener.cpp: (WebCore::V8AbstractEventListener::invokeEventHandler): Removed explicit call to reportException. * bindings/v8/V8Utilities.cpp: reportException function was removed since it's not used. (WebCore::getScriptExecutionContext): * bindings/v8/V8Utilities.h: * bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::v8MessageHandler): (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Setup message handler when first worker context is created. 2010-03-22 Leandro Pereira Reviewed by Simon Hausmann. Add EFL-specific code to page/EventHandler.cpp. http://webkit.org/b/36306 * page/EventHandler.cpp: 2010-03-22 Leandro Pereira Reviewed by Simon Hausmann. Add EFL-specific code to platform/DragImage.h and platform/DragData.h. http://webkit.org/b/36310 * platform/DragImage.h: * platform/DragData.h: 2010-03-22 Leandro Pereira Reviewed by Simon Hausmann. Add EFL-specific code to platform/FileSystem.h. http://webkit.org/b/36313 * platform/FileSystem.h: 2010-03-22 Leandro Pereira Reviewed by Simon Hausmann. Add EFL-specific code to platform/Cursor.h. http://webkit.org/b/36319 * platform/Cursor.h: 2010-03-22 Leandro Pereira Reviewed by Simon Hausmann. Add EFL-specific code to platform/NotImplemented.h. http://webkit.org/b/36320 * platform/NotImplemented.h: 2010-03-21 Kim Grönholm Reviewed by Simon Hausmann. [Qt] GraphicsLayer: matrix interpolations in transform-animations don't behave correctly https://bugs.webkit.org/show_bug.cgi?id=35520 The case where the list of source and target transform operations are not the same but have the same size needs to be special-cased in GraphicsLayerQt, as well as the case where the source or target operation list is empty. The URLs listed here render correctly after applying the patch. Tests: https://bug-35520-attachments.webkit.org/attachment.cgi?id=49890 https://bug-35520-attachments.webkit.org/attachment.cgi?id=49889 * platform/graphics/qt/GraphicsLayerQt.cpp: (WebCore::TransformAnimationQt::applyFrame): 2010-03-21 Dmitry Gorbik width ignored when not tied to a single cell Reviewed by David Kilzer. Fixed width calculation for cells with span when is defined. Test: fast/table/col-width-span-expand.html * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::styleOrColWidth): Added the calculation of cell width in case of defined and span > 1. 2010-03-20 Antonio Gomes Reviewed by Kenneth Christiansen. Patch by Antonio Gomes Spatial Navigation: Code simplification in FocusController.cpp and SpatialNavigation.cpp (part I) https://bugs.webkit.org/show_bug.cgi?id=36168 Make use of isNull and document methods introduced in FocusCandidate class by patch in bug 36167. No functionalty change. * page/FocusController.cpp: (WebCore::updateFocusCandidateIfCloser): * page/SpatialNavigation.cpp: (WebCore::distanceInDirection): 2010-03-20 Kevin Ollivier [wx] Build fixes after recent changes. * platform/graphics/wx/ImageWx.cpp: * wscript: 2010-03-20 Joseph Pecoraro Reviewed by David Kilzer. Assertion failure in media/video-controls-with-mutation-event-handler.html https://bugs.webkit.org/show_bug.cgi?id=36376 Test: media/video-controls-with-mutation-event-handler.html Break early (when not attached) in the defaultEventHandler before the slider is completely set up. * rendering/MediaControlElements.cpp: (WebCore::MediaControlTimelineElement::defaultEventHandler): (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): * rendering/RenderMedia.cpp: (WebCore::RenderMedia::createVolumeSlider): 2010-03-19 Shinichiro Hamaji Reviewed by Dan Bernstein. WebCore::RenderButton::styleDidChange ReadAV@NULL (6739b7fe455ecb54a6812c0866c3b47c) https://bugs.webkit.org/show_bug.cgi?id=34641 Don't dig into buttons and menu lists when finding which element should be modified by :first-letter pseudo class. Even before this change, we didn't dig into inline buttons and menu lists as they are replaced so this issue wasn't found long time. Test: fast/css/first-letter-block-form-controls-crash.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::updateFirstLetter): 2010-03-19 Adam Barth Reviewed by Daniel Bates. Change XSSAuditor block syntax https://bugs.webkit.org/show_bug.cgi?id=34436 Update our blocking syntax to something more reasonable. Also, implemented a way for a web site to disable the filter. Tests: http/tests/security/xssAuditor/no-protection-script-tag.html http/tests/security/xssAuditor/xss-protection-parsing-01.html * page/XSSAuditor.cpp: (WebCore::XSSAuditor::xssProtection): (WebCore::XSSAuditor::findInRequest): * page/XSSAuditor.h: * platform/network/HTTPParsers.cpp: (WebCore::skipToken): (WebCore::parseXSSProtectionHeader): * platform/network/HTTPParsers.h: (WebCore::): 2010-03-19 Eric Uhrhane Reviewed by Dmitry Titov. Refactor DatabaseTracker.cpp for thread safety https://bugs.webkit.org/show_bug.cgi?id=34991 This enables calling into DatabaseTracker from multiple context threads, as will happen once Workers can access the Database. It required a fair amount of reshuffling of locks. I ended up splitting the public interface [calls that take locks and call private functions] from the implementations [calls that assert that locks are already held] in order to avoid lock conflicts. I also had to make sure we weren't sharing Strings or SecurityOrigins across threads. No new tests. Allow access to database handles from multiple threads IFF SQLite is new enough and the user requests it. * platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::SQLiteDatabase): (WebCore::SQLiteDatabase::disableThreadingChecks): * platform/sql/SQLiteDatabase.h: (WebCore::SQLiteDatabase::sqlite3Handle): (WebCore::SQLiteDatabase::disableThreadingChecks): Remove an asynchronous call from Database::close back to the execution thread, so that cleanup can be more deterministic. * storage/Database.cpp: (WebCore::Database::markAsDeletedAndClose): (WebCore::Database::close): * storage/Database.h: (WebCore::Database::): * storage/DatabaseDetails.h: (WebCore::DatabaseDetails::DatabaseDetails): (WebCore::DatabaseDetails::thread): * storage/DatabaseTask.cpp: (WebCore::DatabaseCloseTask::doPerformTask): * storage/DatabaseThread.cpp: (WebCore::DatabaseThread::databaseThread): Any Strings that get stored in DatabaseTracker, and any Strings returned from DatabaseTracker, are now threadsafeCopies. Public functions now take all needed locks, then generally call only private functions [there are a few exceptions: deletion functions and origins()]. Private functions no longer take locks. m_quotaMapGuard becomes m_databaseGuard, and now protects m_database, m_quotaMap, m_proposedDatabases, m_databaseDirectoryPath, m_originsBeingDeleted, m_beingCreated, and m_beingDeleted. m_proposedDatabases replaces m_proposedDatabase, to account for reentrancy. * storage/DatabaseTracker.h: * storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::originQuotaManagerNoLock): (WebCore::DatabaseTracker::originQuotaManager): (WebCore::DatabaseTracker::DatabaseTracker): (WebCore::DatabaseTracker::setDatabaseDirectoryPath): (WebCore::DatabaseTracker::databaseDirectoryPath): (WebCore::DatabaseTracker::trackerDatabasePath): (WebCore::DatabaseTracker::openTrackerDatabase): (WebCore::DatabaseTracker::canEstablishDatabase): (WebCore::DatabaseTracker::hasEntryForOriginNoLock): (WebCore::DatabaseTracker::hasEntryForOrigin): (WebCore::DatabaseTracker::hasEntryForDatabase): (WebCore::DatabaseTracker::originPath): (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): (WebCore::DatabaseTracker::fullPathForDatabase): (WebCore::DatabaseTracker::populateOrigins): (WebCore::DatabaseTracker::origins): (WebCore::DatabaseTracker::databaseNamesForOriginNoLock): (WebCore::DatabaseTracker::databaseNamesForOrigin): (WebCore::DatabaseTracker::detailsForNameAndOrigin): (WebCore::DatabaseTracker::setDatabaseDetails): (WebCore::DatabaseTracker::usageForDatabase): (WebCore::DatabaseTracker::addOpenDatabase): (WebCore::DatabaseTracker::removeOpenDatabase): (WebCore::DatabaseTracker::usageForOriginNoLock): (WebCore::DatabaseTracker::usageForOrigin): (WebCore::DatabaseTracker::quotaForOriginNoLock): (WebCore::DatabaseTracker::quotaForOrigin): (WebCore::DatabaseTracker::setQuota): (WebCore::DatabaseTracker::addDatabase): (WebCore::DatabaseTracker::deleteAllDatabases): (WebCore::DatabaseTracker::deleteOrigin): (WebCore::DatabaseTracker::deleteDatabase): (WebCore::DatabaseTracker::deleteDatabaseFile): (WebCore::DatabaseTracker::setClient): (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): (WebCore::DatabaseTracker::notifyDatabasesChanged): These functions keep track of in-progress deletions and creations, so that we can make sure nobody every deletes a database file while a live database is using it. (WebCore::DatabaseTracker::canCreateDatabase): (WebCore::DatabaseTracker::recordCreatingDatabase): (WebCore::DatabaseTracker::doneCreatingDatabase): (WebCore::DatabaseTracker::creatingDatabase): (WebCore::DatabaseTracker::canDeleteDatabase): (WebCore::DatabaseTracker::recordDeletingDatabase): (WebCore::DatabaseTracker::doneDeletingDatabase): (WebCore::DatabaseTracker::deletingDatabase): (WebCore::DatabaseTracker::canDeleteOrigin): (WebCore::DatabaseTracker::deletingOrigin): (WebCore::DatabaseTracker::recordDeletingOrigin): (WebCore::DatabaseTracker::doneDeletingOrigin): Any SecurityOrigins stored in OriginQuotaManager are now threadsafeCopies of inputs. There's a new tryLock() function in addition to the existing lock(). * storage/OriginQuotaManager.cpp: (WebCore::OriginQuotaManager::tryLock): (WebCore::OriginQuotaManager::trackOrigin): * storage/OriginQuotaManager.h: * page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::databaseIdentifier): Removed DEFINE_STATIC_LOCAL wrapper on a local variable; it appears to have been a small optimization, but it's not thread-safe. 2010-03-19 Luiz Agostini Reviewed by Antti Koivisto. Multiselect popups - rendering https://bugs.webkit.org/show_bug.cgi?id=36006 The objective of this patch is to create a compile time flag that can be used to force all comboboxes. * WebCore.pri: * WebCore.pro: * css/themeQtNoListboxes.css: Added. (select[size][multiple]): * dom/SelectElement.h: (WebCore::SelectElementData::usesMenuList): * platform/qt/QtStyleOptionWebComboBox.h: Added. (WebCore::QtStyleOptionWebComboBox::QtStyleOptionWebComboBox): (WebCore::QtStyleOptionWebComboBox::multiple): (WebCore::QtStyleOptionWebComboBox::checkMultiple): * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::extraDefaultStyleSheet): (WebCore::RenderThemeQt::paintMenuList): (WebCore::RenderThemeQt::paintMenuListButton): * platform/qt/RenderThemeQt.h: 2010-03-19 Zhenyao Mo Reviewed by Oliver Hunt. Update WebGLArray.slice() to new spec https://bugs.webkit.org/show_bug.cgi?id-35612 * bindings/js/JSWebGLArrayCustom.cpp: Adding support for default inputs. (WebCore::JSWebGLArray::slice): * bindings/v8/custom/V8WebGLArrayCustom.cpp: Ditto. (WebCore::V8WebGLArray::sliceCallback): * html/canvas/WebGLArray.cpp: Map start/end to offset/length. (WebCore::WebGLArray::calculateOffsetAndLength): * html/canvas/WebGLArray.h: Modified slice parameters. * html/canvas/WebGLArray.idl: Define custom binding for slice(). * html/canvas/WebGLByteArray.cpp: Modified slice parameters. (WebCore::WebGLByteArray::slice): * html/canvas/WebGLByteArray.h: Ditto. * html/canvas/WebGLFloatArray.cpp: Ditto. (WebCore::WebGLFloatArray::slice): * html/canvas/WebGLFloatArray.h: Ditto. * html/canvas/WebGLIntArray.cpp: Ditto. (WebCore::WebGLIntArray::slice): * html/canvas/WebGLIntArray.h: Ditto. * html/canvas/WebGLShortArray.cpp: Ditto. (WebCore::WebGLShortArray::slice): * html/canvas/WebGLShortArray.h: Ditto. * html/canvas/WebGLUnsignedByteArray.cpp: Ditto. (WebCore::WebGLUnsignedByteArray::slice): * html/canvas/WebGLUnsignedByteArray.h: Ditto. * html/canvas/WebGLUnsignedIntArray.cpp: Ditto. (WebCore::WebGLUnsignedIntArray::slice): * html/canvas/WebGLUnsignedIntArray.h: Ditto. * html/canvas/WebGLUnsignedShortArray.cpp: Ditto. (WebCore::WebGLUnsignedShortArray::slice): * html/canvas/WebGLUnsignedShortArray.h: Ditto. 2010-03-19 Yong Li and Andy Estes Reviewed by Darin Adler. Ensure the segments inside SharedBuffer are merged before constructing a CFData with it. https://bugs.webkit.org/show_bug.cgi?id=50843 * manual-tests/WebKitSite.webarchive: Added. * manual-tests/webarchive-test.html: Added. * platform/cf/SharedBufferCF.cpp: (WebCore::SharedBuffer::createCFData): 2010-03-19 Justin Schuh Reviewed by Oliver Hunt. Security: ReadAV@NULL for negative feMorphology filter radius https://bugs.webkit.org/show_bug.cgi?id=34566 Prevents building the filter if either radius is negative. Catches negative radii resulting from conversions. Test: svg/filters/feMorphology-invalid-radius.svg * svg/SVGFEMorphologyElement.cpp: (WebCore::SVGFEMorphologyElement::build): * svg/graphics/filters/SVGFEMorphology.cpp: (WebCore::FEMorphology::apply): 2010-03-19 Chris Marrin Reviewed by Simon Fraser. Fixed a crash with AnimationController getting deleted out from under itself. It's possible for the Frame that owns an AnimationController to get deleted in the EndTransitionEvent (or other animation events) to get deleted in the event handler. Normally this case is protected against by preventing the Frame from getting deleted until the end of the runloop. But native uses of the WebView can subvert this protection. So I added a protector to the animation event dispatcher to protect it in those cases. Test: transitions/transition-end-event-destroy-iframe.html * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): 2010-03-19 Luiz Agostini Reviewed by Antti Koivisto. Multiselect Popup - PopupMenuClient extension https://bugs.webkit.org/show_bug.cgi?id=36178 PopupMenuClient class is the interface used by combobox popup implementations. It needs to be extended to handle does not validate correctly without a renderer and the tests are incorrect https://bugs.webkit.org/show_bug.cgi?id=36259 Setting value attribute on an to an out-of-range value fires oninput https://bugs.webkit.org/show_bug.cgi?id=16990 Part 2 of 2: When setting the range element's value, overflows and underflows are automatically sanitized to valid values. Moved the general case sanitization code out of the Renderer into HTMLInputElement::sanitizeValue. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::value): when getting a default value on reset() ensure the defaultValue is provided (WebCore::HTMLInputElement::sanitizeValue): clamp the value within the max/min/step range constraints * html/StepRange.cpp: (WebCore::StepRange::StepRange): allow const element in the constructor (WebCore::StepRange::clampValue): clamp from a String value * html/StepRange.h: (WebCore::StepRange::defaultValue): easy calculation of the default value for max/min/step range constraints * rendering/RenderSlider.cpp: (WebCore::RenderSlider::updateFromElement): no longer handle the general case sanitization in the renderer 2010-03-19 Joseph Pecoraro Reviewed by David Kilzer. does not validate correctly without a renderer and the tests are incorrect https://bugs.webkit.org/show_bug.cgi?id=36259 Part 1 of 2: Refactoring the SliderRange struct out of RenderSlider into a more appropriate place. Changed the named to StepRange. Changed from a struct to a class. Added new files to the build. * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: Renamed and moved class SliderRange to StepRange. * html/StepRange.cpp: Added. (WebCore::StepRange::StepRange): (WebCore::StepRange::clampValue): (WebCore::StepRange::valueFromElement): (WebCore::sliderPosition): * html/StepRange.h: Added. (WebCore::StepRange::proportionFromValue): (WebCore::StepRange::valueFromProportion): * rendering/RenderSlider.cpp: (WebCore::RenderSlider::updateFromElement): updated to use StepRange (WebCore::RenderSlider::setValueForPosition): updated to use StepRange 2010-03-19 Antti Koivisto Reviewed by Simon Hausmann. https://bugs.webkit.org/show_bug.cgi?id=36366 Repaint loop when painting using scaled CTMs with different translations The code in RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality tests if the scaling has changed from the previous value by comparing the transformations. The test fails if the scale is the same but the translation changes. This can lead to infinite repaint loop if the document is painted in pieces using different translations (for example for tiling). * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality): 2010-03-19 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: editing shorthands does not always work. https://bugs.webkit.org/show_bug.cgi?id=36362 * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::applyStyleText): (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties): (WebCore::InspectorDOMAgent::shorthandValue): * inspector/InspectorDOMAgent.h: * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype): * inspector/front-end/inspector.css: (.section .properties li.disabled .enabled-button): * inspector/front-end/inspector.js: (WebInspector.startEditing.editingCommitted): 2010-03-19 Tor Arne Vestbø Reviewed by Simon Hausmann. [Qt] Don't replace clip when drawing complex text * platform/graphics/qt/FontQt.cpp: 2010-03-18 Darin Fisher Reviewed by Adam Barth. If a frame is already in the document, then setting its "src" attribute should add the resultant navigation to history. https://bugs.webkit.org/show_bug.cgi?id=9166 This behavior is specified in section 4.8.2 of the HTML5 spec. Test: fast/loader/frame-src-change-added-to-history.html * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::openURL): (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestFrame): * loader/FrameLoader.h: 2010-03-18 Chris Evans Reviewed by Nikolas Zimmermann. Fix a minor crash with mismatched array sizes in SVG animation elements. https://bugs.webkit.org/show_bug.cgi?id=35606 Test: svg/animations/keypoints-mismatch.svg * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::startedActiveInterval): Globally apply validations relevant to all animation types. 2010-03-18 Vangelis Kokkevis Reviewed by Adam Barth. Implement software composited graphics layers in Chromium using the Skia library. https://bugs.webkit.org/show_bug.cgi?id=35557 This is an initial step in the implementation. Layer compositing is functioning but not optimized in any way. Subsesquent check-ins will be necessary to fine tune it. Test: No new exposed functionality so no new tests. * WebCore.gypi: Added new source files to the chromium build * platform/graphics/GraphicsLayer.h: Added necessary typedef's and forward declarations for Chromium. * platform/graphics/skia/GraphicsLayerSkia.cpp: Added. * platform/graphics/skia/GraphicsLayerSkia.h: Added. Declaration and implementation of the platform-specific GraphicsLayer class. * platform/graphics/skia/LayerRendererSkia.cpp: Added. * platform/graphics/skia/LayerRendererSkia.h: Added. Declaration and implementation of the Skia-based software compositor. * platform/graphics/skia/LayerSkia.cpp: Added. * platform/graphics/skia/LayerSkia.h: Added. Declaration and implementation of a compositable layer that uses a Skia canvas for backing store. 2010-03-18 Kenneth Rohde Christiansen Reviewed by Darin Adler. Make setPrinting() with printing=false, restore the previous media type in use. Test: fast/media/print-restores-previous-mediatype.html * page/Frame.cpp: (WebCore::Frame::setPrinting): * page/FrameView.cpp: (WebCore::FrameView::adjustMediaTypeForPrinting): * page/FrameView.h: 2010-03-18 David Kilzer Remove unused RenderReplaced::adjustOverflowForBoxShadowAndReflect() declaration Rubber-stamped by Darin Adler. This declaration should have been removed in r47440. * rendering/RenderReplaced.h: (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Removed. 2010-03-18 Jian Li Reviewed by Dmitry Titov. Dragging a PDF image triggers assertion in DragController::startDrag() https://bugs.webkit.org/show_bug.cgi?id=36247 Test: fast/images/drag-pdf-as-image.html * platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::filenameExtension): * platform/graphics/cg/PDFDocumentImage.h: 2010-03-18 Simon Fraser Reviewed by Dan Bernstein. Avoid taking a reference to a String owned by a temporary AtomicString. * css/CSSSelector.cpp: (WebCore::CSSSelector::RareData::parseNth): 2010-03-18 Chris Marrin Reviewed by Simon Fraser. Fixed parenting issues with HW layers on Windows https://bugs.webkit.org/show_bug.cgi?id=32449 CACF can't properly fix superlayer changes, so a layer added as a sublayer must have a null superlayer. I changed a couple of places that change sublayers to removeFromSuperlayer while adding to a new layer. This fixes both the problem of disappearing children and children getting doubled. Also got rid of removeSublayer(). Layers should always be removed from their parent with removeFromSuperlayer(). This also removed moveLayer(), which is not used and may not be safe in how it copies. * platform/graphics/win/GraphicsLayerCACF.cpp:Changed setName to be like Mac, to give more debugging info (to fix problems like these) (WebCore::GraphicsLayerCACF::setName): * platform/graphics/win/WKCACFLayer.cpp:Make sure superlayer is null before adding (WebCore::WKCACFLayer::insertSublayer): (WebCore::WKCACFLayer::replaceSublayer): (WebCore::WKCACFLayer::removeFromSuperlayer): (WebCore::WKCACFLayer::setSublayers): (WebCore::WKCACFLayer::printLayer):print the superlayer for better debugging * platform/graphics/win/WKCACFLayer.h: 2010-03-18 Dimitri Glazkov Unreviewed, build fix. [Chromium] Change the order of mac/ and cg/ include dirs to fix compile break due to http://trac.webkit.org/changeset/56192, * WebCore.gyp/WebCore.gyp: Changed the order. 2010-03-18 David Hyatt Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=36325 Add support for stopImmediatePropagation from DOM Level 3 Events. Added fast/events/stop-immediate-propagation.html. * dom/Event.cpp: (WebCore::Event::Event): * dom/Event.h: (WebCore::Event::timeStamp): (WebCore::Event::stopPropagation): (WebCore::Event::stopImmediatePropagation): (WebCore::Event::propagationStopped): (WebCore::Event::immediatePropagationStopped): * dom/Event.idl: * dom/EventTarget.cpp: (WebCore::EventTarget::fireEventListeners): 2010-03-18 Dimitri Glazkov Unreviewed, build fix. Return frame accessor back to Geolocation, it's used in GeolocationServiceChromium. The accessor was removed in http://trac.webkit.org/changeset/56188. * page/Geolocation.h: (WebCore::Geolocation::frame): Added back. 2010-03-18 Brent Fulgham Reviewed by Adam Roben. Help reduce build problems due to font declarations. https://bugs.webkit.org/show_bug.cgi?id=36190 Functions unchanged, no new tests. * WebCore.vcproj/WebCore.vcproj: Add new file, and show movement of FontPlatformData.h to cg/ directory. * platform/graphics/cairo/FontPlatformData.h: Merge in WinCairo-specific declarations. Correct constructor declaration to use type float for font size. (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::hfont): (WebCore::FontPlatformData::useGDI): (WebCore::FontPlatformData::fontFace): (WebCore::FontPlatformData::setSize): (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::isHashTableDeletedValue): * platform/graphics/cairo/FontPlatformDataCairo.cpp: (WebCore::FontPlatformData::FontPlatformData): Correct constructor to accept type float for font size. * platform/graphics/cg/FontPlatformData.h: Copied from WebCore/platform/graphics/win/FontPlatformData.h. (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::hfont): (WebCore::FontPlatformData::cgFont): (WebCore::FontPlatformData::operator==): * platform/graphics/win/FontPlatformData.h: Removed. * platform/graphics/win/FontPlatformDataCairoWin.cpp: (WebCore::FontPlatformData::operator==): Move implementation here (previously in header) to match other cairo-based ports. * platform/graphics/win/RefCountedHFONT.h: Added. This was extracted from win/FontPlatformData.h, and is now shared by the cg/FontPlatformData.h and cairo/FontPlatformData.h (WebCore::RefCountedHFONT::create): (WebCore::RefCountedHFONT::createDeleted): (WebCore::RefCountedHFONT::~RefCountedHFONT): (WebCore::RefCountedHFONT::hfont): (WebCore::RefCountedHFONT::hash): (WebCore::RefCountedHFONT::RefCountedHFONT): 2010-03-18 Simon Fraser No review. Fix brace style after r56170. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 2010-03-18 Simon Fraser Reviewed by Dave Hyatt. https://bugs.webkit.org/show_bug.cgi?id=36274 CSS3 :nth-child selector 'odd' keyword case sensitivity test fails The tests for "odd", "even" etc. for nth-child selectors should be case insensitive. Test: fast/css/nth-child-odd-case-insensitive.html * css/CSSSelector.cpp: (WebCore::CSSSelector::RareData::parseNth): 2010-03-18 David Hyatt Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=36265 Add support for event.defaultPrevented from DOM level 3. Added fast/events/defaultprevented.html * dom/Event.idl: 2010-03-18 Darin Adler Reviewed by Kenneth Rohde Christiansen. Remove Geolocation.lastPosition, no longer in the spec. https://bugs.webkit.org/show_bug.cgi?id=36255 rdar://problem/7746357 * WebCore.base.exp: Updated since Geolocation's destructor is now non-virtual. * page/Geolocation.cpp: (WebCore::Geolocation::lastPosition): Add an assertion; it's only legal to call this if access to the location is allowed. * page/Geolocation.h: Removed unneeded includes. Made destructor non-virtual, although it will still be virtual if any of the base classes have a virtual destructor. Made lastPosition, isAllowed, and isDenied functions private. Removed unused suspend, resume, setShouldClearCache, shouldClearCache, and frame functions. * page/Geolocation.idl: Removed lastPosition read-only attribute. No longer in the Geolocation specification. 2010-03-18 David Hyatt Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=36275 Make sure :not does not allow pseudo-elements inside it. (Hooray for another pointless restriction on :not.) Added fast/css/invalid-not-with-pseudo-element.html * css/CSSGrammar.y: * css/CSSSelector.h: (WebCore::CSSSelector::matchesPseudoElement): 2010-03-18 Dan Bernstein Reviewed by Darin Adler. Rework the fix for https://bugs.webkit.org/show_bug.cgi?id=18722 Test: fast/dynamic/float-remove-above-line-2.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::removeFloatingObject): Treat 0- and less-than-0-height floats as having a height of 1 so that they intersect with the line they originate on. (WebCore::RenderBlock::clearFloats): Use numeric_limits. * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::layoutInlineChildren): Removed the intersection checks here, so that a float is always included in the float list of the line it originates on, even if it does not intersect that line. This ensures that every float is accounted for, which is necessary during incremental layout when adding floats from clean lines. 2010-03-18 Antti Koivisto Reviewed by Kenneth Rohde Christiansen. https://bugs.webkit.org/show_bug.cgi?id=36102 [Qt] Scaling control API for tiled backing store Commit the new scale synchronously after unfreeze to avoid ugliness. * platform/graphics/TiledBackingStore.cpp: (WebCore::TiledBackingStore::TiledBackingStore): (WebCore::TiledBackingStore::setContentsScale): (WebCore::TiledBackingStore::commitScaleChange): (WebCore::TiledBackingStore::setContentsFrozen): * platform/graphics/TiledBackingStore.h: 2010-03-18 David Hyatt Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=36281 Make sure an exception is raised if an @import rule is inserted in the wrong place. Also make sure (so that this particular test case passes) that rgba(0, 0, 0, 0) is dumped as transparent by getComputedStyle, since it most commonly occurs in background-color and that default makes more sense than dumping rgba values. Added fast/css/invalid-import-insertion.html * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::createColor): * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::insertRule): 2010-03-18 Luiz Agostini Reviewed by Kenneth Rohde Christiansen. Multiselect Popup - Listbox click simulation https://bugs.webkit.org/show_bug.cgi?id=36177 Listbox popups will need to notify the corresponding select elements that a selection change happened. The current HTMLSelectElement interface does not allow multiple selections. The new method listBoxSelectItem will be used for that. I have refactored part of the mouse handling code in bug 36124 and I am now reusing it here for I needed to extend the API used by menulist popups. This is the first step. Just refactoring SelectElement without any behavior change. Separating code that will be reused in future patches. * dom/SelectElement.cpp: (WebCore::SelectElement::updateSelectedState): (WebCore::SelectElement::listBoxDefaultEventHandler): * dom/SelectElement.h: 2010-03-17 Nate Chapin Unreviewed, Chromium build fix. Delete the correct file this time. * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Copied from WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp. * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed. 2010-03-17 Nate Chapin Reviewed by Dimitri Glazkov. [V8] Remove custom bindings callbacks that aren't in use. (The relevant .idl doesn't mark them as V8Custom or Custom). https://bugs.webkit.org/show_bug.cgi?id=33066 * Android.v8bindings.mk: * WebCore.gypi: * bindings/scripts/CodeGeneratorV8.pm: * bindings/v8/custom/V8DOMWindowCustom.cpp: * bindings/v8/custom/V8WebGLArrayCustom.h: * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed. 2010-03-17 Steve Block Reviewed by Dimitri Glazkov. Adds ENABLE(WORKERS) guards to V8 bindings https://bugs.webkit.org/show_bug.cgi?id=36221 Build fix only, no new tests. * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::instantiateV8Object): * bindings/v8/V8Proxy.cpp: (WebCore::toV8Context): 2010-03-17 Yury Semikhatsky Reviewed by Pavel Feldman. Remove unused reference to InspectorController from InspectorFrontend. https://bugs.webkit.org/show_bug.cgi?id=36218 * inspector/InspectorFrontend.h: 2010-03-17 Ilya Tikhonovsky Reviewed by Pavel Feldman. WebInspector: Timeline improvements - next iteration. The top level records should be collapsed. Virtually linked events should be nested in Timeline like Send Request and corresponding Received Responce, Timer Install and Timer Fire etc. It should be possible to see Main Resource request. https://bugs.webkit.org/show_bug.cgi?id=36122 * inspector/InspectorController.cpp: (WebCore::InspectorController::resetScriptObjects): (WebCore::InspectorController::didReceiveResponse): * inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::willReceiveResourceResponse): (WebCore::InspectorTimelineAgent::didReceiveResourceResponse): * inspector/InspectorTimelineAgent.h: * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype._createStatusbarButtons): (WebInspector.TimelinePanel.prototype.addRecordToTimeline): (WebInspector.TimelinePanel.prototype._findParentRecord): (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): (WebInspector.TimelinePanel.prototype.resize): (WebInspector.TimelinePanel.prototype._createTopLevelRecord): (WebInspector.TimelinePanel.prototype.reset): (WebInspector.TimelinePanel.prototype._clean): (WebInspector.TimelinePanel.prototype._refresh): (WebInspector.TimelinePanel.prototype._refreshRecords): (WebInspector.TimelinePanel.prototype._addToRecordsWindow): (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages): (WebInspector.TimelineCalculator.prototype.updateBoundaries): (WebInspector.TimelineRecordGraphRow): (WebInspector.TimelineRecordGraphRow.prototype.update): (WebInspector.TimelinePanel.FormattedRecord): (WebInspector.TimelinePanel.FormattedRecord.prototype.get children): (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): * inspector/front-end/inspector.css: * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::didReceiveResponse): 2010-03-17 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: Reimplement style-related audits using native API https://bugs.webkit.org/show_bug.cgi?id=36172 * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::getAllStyles): * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::getAllStyles): (WebCore::InspectorDOMAgent::getMatchedCSSRules): (WebCore::InspectorDOMAgent::buildObjectForStyleSheet): (WebCore::InspectorDOMAgent::buildObjectForRule): * inspector/InspectorDOMAgent.h: * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::didGetAllStyles): * inspector/InspectorFrontend.h: * inspector/front-end/AuditRules.js: (WebInspector.AuditRules.evaluateInTargetWindow): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): (WebInspector.AuditRules.CssInHeadRule.prototype.doRun): (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun): * inspector/front-end/DOMAgent.js: * inspector/front-end/InjectedScript.js: (injectedScriptConstructor): 2010-03-17 Steve Block Reviewed by Jeremy Orlow. Replace instances of bzero in WebCore/bridge common code with memset https://bugs.webkit.org/show_bug.cgi?id=36214 Syntax change only, no new tests. * bridge/jni/JNIUtility.cpp: (JSC::Bindings::getJNIField): * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaField::dispatchValueFromInstance): * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): * bridge/jni/v8/JNIUtilityPrivate.cpp: (JSC::Bindings::convertNPVariantToJValue): * bridge/jni/v8/JavaNPObjectV8.cpp: (JSC::Bindings::AllocJavaNPObject): 2010-03-17 Yury Semikhatsky Reviewed by Pavel Feldman. Mark inspector resources as changed so that they are reloaded on the next frontend connection. Split resetScriptObjects into code specific for page navigation and insepctor frontend disconnection. https://bugs.webkit.org/show_bug.cgi?id=36183 * WebCore.xcodeproj/project.pbxproj: Added InspectorWorkerResource.h to the project file. * inspector/InspectorController.cpp: (WebCore::InspectorController::disconnectFrontend): (WebCore::InspectorController::unbindAllResources): (WebCore::InspectorController::didCommitLoad): * inspector/InspectorController.h: * inspector/InspectorResource.cpp: (WebCore::InspectorResource::releaseScriptObject): 2010-03-17 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Capture main resource load events in timeline panel. https://bugs.webkit.org/show_bug.cgi?id=36188 * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._createStatusbarButtons): (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked): (WebInspector.TimelinePanel.prototype.timelineWasStopped): (WebInspector.TimelinePanel.prototype.addRecordToTimeline): (WebInspector.TimelinePanel.prototype._clearPanel): (WebInspector.TimelinePanel.FormattedRecord): 2010-03-17 Zoltan Horvath Reviewed by Eric Seidel. Allow custom memory allocation control for AtomicString class https://bugs.webkit.org/show_bug.cgi?id=35907 Inherits the following class from FastAllocBase because it is instantiated by 'new': class name - instantiated at: WebCore/'location' AtomicString - WebCore/html/HTMLTableElement.cpp:525 * platform/text/AtomicString.h: 2010-03-16 John Abd-El-Malek Reviewed by Darin Fisher. Give keyboard focus to PluginDocuments by default https://bugs.webkit.org/show_bug.cgi?id=36147 Test: http/tests/plugins/plugin-document-has-focus.html * loader/PluginDocument.cpp: (WebCore::PluginDocument::pluginNode): * loader/PluginDocument.h: * page/EventHandler.cpp: (WebCore::eventTargetNodeForDocument): 2010-03-16 Chris Fleizach Reviewed by Darin Adler. REGRESSION (r53857): Crash when tabbing to https://bugs.webkit.org/show_bug.cgi?id=36017 Test: fast/events/imagemap-norender-crash.html * html/HTMLMapElement.cpp: (WebCore::HTMLMapElement::imageElement): 2010-03-16 Brent Fulgham Build fix. No Review. Correct missing includes in cURL network backend introduced by recent changes in WebKit. * platform/network/curl/ResourceHandleCurl.cpp: Add missing includes for SharedBuffer and PassRefPtr. (WebCore::ResourceHandle::loadResourceSynchronously): Correct constructor signature for ResourceHandle to match @r55688. * platform/network/curl/ResourceHandleManager.cpp: Add missing include for RetainPtr. 2010-03-16 Zhenyao Mo Reviewed by Darin Fisher. Hook up WebGLContextAttributes to OpenGL context creation code https://bugs.webkit.org/show_bug.cgi?id=33416 Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Fix an index bug. * platform/graphics/GraphicsContext3D.h: Add members/functions for multisampling/stencil buffer purpose. * platform/graphics/mac/Canvas3DLayer.h: Add GraphicsContext3D as a member of Canvas3DLayer. * platform/graphics/mac/Canvas3DLayer.mm: Add multisampling support. * platform/graphics/mac/GraphicsContext3DMac.cpp: Hook up WebGLContextAttributes to OpenGL context creation code for Mac. * platform/graphics/mac/GraphicsLayerCA.mm: Adjust to modified Canvas3DLayer init call. 2010-03-16 Joanmarie Diggs Reviewed by Xan Lopez. https://bugs.webkit.org/show_bug.cgi?id=35504 [Gtk] Evaluate and fix AtkTable for layout tables Causes "layout tables" to be exposed as AccessibilityTables for Gtk. * accessibility/AccessibilityTable.cpp: (AccessibilityTable::isTableExposableThroughAccessibility): 2010-03-16 Gustavo Noronha Silva Unreviewed. Build fix for distcheck. * GNUmakefile.am: 2010-03-15 Darin Fisher Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=36152 [chromium] Add support for history.pushState and history.replaceState This is covered by the existing tests in fast/loader/stateobjects * bindings/v8/SerializedScriptValue.cpp: (WebCore::ZigZag::Deserializer::deserialize): (WebCore::SerializedScriptValue::deserialize): * bindings/v8/SerializedScriptValue.h: Switch to returning v8::Null instead of the empty value to match JSC and the spec. * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): Call dispatchDidNavigateWithinPage just before dispatching events to the page. This ordering is important since the event handlers could destroy the page or start another navigation. * loader/FrameLoaderClient.h: Add dispatchDidNavigateWithinPage to notify the client whenever a navigation occurs without changing any of the documents in the page. 2010-03-16 Adam Roben Fix linker warnings when building WebCore on Windows Rubber-stamped by Steve Falkenburg. * WebCore.vcproj/WebCore.vcproj: Exclude JSDOMFormData.cpp from the build, since it's already included in DerivedSources.cpp. Also let VS sort this file as it saw fit. 2010-03-15 Antti Koivisto Reviewed by Simon Hausmann. https://bugs.webkit.org/show_bug.cgi?id=36121 [Qt] Make WebKit scrollbars work with tiling Translate coordinates correctly. * page/Frame.cpp: (WebCore::Frame::tiledBackingStorePaintEnd): 2010-03-16 Jakub Wieczorek Reviewed by Eric Seidel. [Qt] MediaPlayerPrivate: Initialize m_mediaPlayerControl to 0 to avoid crashes when no media services can be found. https://bugs.webkit.org/show_bug.cgi?id=36142 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 2010-03-16 Adam Barth Unreviewed. noscript tag should render when @sandbox disables JavaScript https://bugs.webkit.org/show_bug.cgi?id=36092 Add missing "!" in plugin code. Should fix plugins/embed-inside-object on Gtk and Qt. * plugins/PluginView.cpp: (WebCore::PluginView::load): 2010-03-16 Nate Chapin Reviewed by Dimitri Glazkov. [V8] Delete DerivedSourcesAllInOne.cpp. https://bugs.webkit.org/show_bug.cgi?id=33048 * Android.v8bindings.mk: * bindings/v8/DerivedSourcesAllInOne.cpp: Removed. 2010-03-16 Gustavo Noronha Silva Revert r56006 as it caused functional issues. We will work on a testcase, and rework the fix, and land when we have this a bit more testable. * platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::paintMediaPlayButton): 2010-03-16 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Errors when inspecting styles of non-renderable elements in XHTML. https://bugs.webkit.org/show_bug.cgi?id=35025 * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::getStyles): * inspector/front-end/DOMAgent.js: (WebInspector.DOMNode.prototype._addAttribute): (WebInspector.DOMWindow.prototype.Object): * inspector/front-end/MetricsSidebarPane.js: * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype.update.callback): (WebInspector.StylesSidebarPane.prototype.update): (WebInspector.StylesSidebarPane.prototype._update): 2010-03-12 Antonio Gomes Reviewed by Simon Fraser. Patch by Antonio Gomes Spatial Navigation: Add a scrollIntoView call when focusing an element. https://bugs.webkit.org/show_bug.cgi?id=36020 When focusing an element in Spatial Navigation logic, it is desired to make this element visible in the current viewport. For that to happen, there could be a call to Element's scrollIntoView method at focusing time. However for visual aspects, it is preferable to scroll to an inflated rect of |element| in order to consider the focus outline width. As Element's scrollIntoView method does not provide this flexibility, patch adds a custom scrollIntoView method to SpatialNavigation.h . * page/FocusController.cpp: (WebCore::FocusController::advanceFocusDirectionally): * page/SpatialNavigation.cpp: (WebCore::scrollIntoView): * page/SpatialNavigation.h: 2010-03-10 Gustavo Noronha Silva Reviewed by Eric Seidel. [GTK] Position queries are lagging https://bugs.webkit.org/show_bug.cgi?id=34372 Normalize timeout priorities through the GStreamer media player as a whole. This should help avoid that any of them is starved. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::volumeChanged): (WebCore::MediaPlayerPrivate::processBufferingStats): (WebCore::MediaPlayerPrivate::muteChanged): * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: (webkit_video_sink_render): * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: (webKitWebSrcNeedDataCb): (webKitWebSrcEnoughDataCb): (webKitWebSrcSeekDataCb): 2010-03-10 Gustavo Noronha Silva Reviewed by Eric Seidel. [GTK] Position queries are lagging https://bugs.webkit.org/show_bug.cgi?id=34372 Use default priority also for parsing data: URIs. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::startData): 2010-03-10 Gustavo Noronha Silva Reviewed by Eric Seidel. [GTK] Position queries are lagging https://bugs.webkit.org/show_bug.cgi?id=34372 Normalize SharedTimers priorities to always be G_PRIORITY_DEFAULT. As it is currently, timers that should happen immediately (0 miliseconds delay) end up delayed by a lot of time due to glib starving lower priority sources. * platform/gtk/SharedTimerGtk.cpp: (WebCore::setSharedTimerFireTime): 2010-03-16 Xan Lopez Reviewed by Gustavo Noronha. Add support for Fast Mobile Scrolling in the build system. * GNUmakefile.am: 2010-03-11 Yury Semikhatsky Reviewed by Pavel Feldman. Introduce InspectorFrontendClient that provides InspectorFrontend with an interface to the embedder. InspectorClient now serves as a delegate for InspectorController and does not contain methods for managing inspector frontend window. That allows to create remote InspectorFrontendHost. Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder https://bugs.webkit.org/show_bug.cgi?id=35036 * GNUmakefile.am: * WebCore.Inspector.exp: * WebCore.base.exp: * WebCore.gypi: * WebCore.order: * WebCore.pro: * WebCore.xcodeproj/project.pbxproj: * inspector/ConsoleMessage.cpp: (WebCore::ConsoleMessage::addToFrontend): * inspector/ConsoleMessage.h: * inspector/InspectorClient.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::~InspectorController): (WebCore::InspectorController::inspectedPageDestroyed): (WebCore::InspectorController::windowVisible): (WebCore::InspectorController::frontendReady): (WebCore::InspectorController::willCloseFrontend): (WebCore::InspectorController::addConsoleMessage): (WebCore::InspectorController::setInspectorFrontendClient): (WebCore::InspectorController::inspectedWindowScriptObjectCleared): (WebCore::InspectorController::setFrontend): (WebCore::InspectorController::show): (WebCore::InspectorController::close): (WebCore::InspectorController::releaseDOMAgent): (WebCore::InspectorController::populateScriptObjects): (WebCore::InspectorController::didCommitLoad): (WebCore::InspectorController::getProfile): (WebCore::InspectorController::enableDebugger): * inspector/InspectorController.h: (WebCore::InspectorController::hasInspectorFrontendClient): * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::InspectorFrontend): (WebCore::InspectorFrontend::~InspectorFrontend): (WebCore::InspectorFrontend::addConsoleMessage): (WebCore::InspectorFrontend::bringToFront): (WebCore::InspectorFrontend::inspectedURLChanged): * inspector/InspectorFrontend.h: * inspector/InspectorFrontendClient.h: Added. (WebCore::InspectorFrontendClient::~InspectorFrontendClient): * inspector/InspectorFrontendClientLocal.cpp: Added. (WebCore::FrontendMenuProvider::create): (WebCore::FrontendMenuProvider::disconnect): (WebCore::FrontendMenuProvider::FrontendMenuProvider): (WebCore::FrontendMenuProvider::~FrontendMenuProvider): (WebCore::FrontendMenuProvider::populateContextMenu): (WebCore::FrontendMenuProvider::contextMenuItemSelected): (WebCore::FrontendMenuProvider::contextMenuCleared): (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal): (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal): (WebCore::InspectorFrontendClientLocal::windowObjectCleared): (WebCore::InspectorFrontendClientLocal::frontendLoaded): (WebCore::InspectorFrontendClientLocal::canAttachWindow): (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight): (WebCore::InspectorFrontendClientLocal::moveWindowBy): (WebCore::InspectorFrontendClientLocal::showContextMenu): (WebCore::InspectorFrontendClientLocal::setAttachedWindow): (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight): (WebCore::InspectorFrontendClientLocal::constrainedAttachedWindowHeight): * inspector/InspectorFrontendClientLocal.h: Added. * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::InspectorFrontendHost): (WebCore::InspectorFrontendHost::~InspectorFrontendHost): (WebCore::InspectorFrontendHost::loaded): (WebCore::InspectorFrontendHost::attach): (WebCore::InspectorFrontendHost::detach): (WebCore::InspectorFrontendHost::closeWindow): (WebCore::InspectorFrontendHost::bringToFront): (WebCore::InspectorFrontendHost::inspectedURLChanged): (WebCore::InspectorFrontendHost::canAttachWindow): (WebCore::InspectorFrontendHost::setAttachedWindowHeight): (WebCore::InspectorFrontendHost::moveWindowBy): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorFrontendHost.h: (WebCore::InspectorFrontendHost::create): * inspector/InspectorFrontendHost.idl: * inspector/front-end/InspectorFrontendHostStub.js: (.WebInspector.InspectorFrontendHostStub.prototype.bringToFront): (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged): * inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.close): (WebInspector.bringToFront): (WebInspector.inspectedURLChanged): * loader/EmptyClients.h: (WebCore::EmptyInspectorClient::openInspectorFrontend): * loader/FrameLoader.cpp: (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): * page/Page.cpp: (WebCore::Page::Page): (WebCore::Page::~Page): * page/Page.h: * platform/ContextMenu.cpp: (WebCore::ContextMenu::populate): (WebCore::ContextMenu::addInspectElementItem): 2010-03-16 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: migrate to native styles inspector in order to inspect styles from foreighn domains. https://bugs.webkit.org/show_bug.cgi?id=36117 * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::getStyles): (WebCore::InspectorBackend::getInlineStyle): (WebCore::InspectorBackend::getComputedStyle): (WebCore::InspectorBackend::applyStyleText): (WebCore::InspectorBackend::setStyleText): (WebCore::InspectorBackend::setStyleProperty): (WebCore::InspectorBackend::toggleStyleEnabled): (WebCore::InspectorBackend::setRuleSelector): (WebCore::InspectorBackend::addRule): * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::InspectorDOMAgent): (WebCore::InspectorDOMAgent::getStyles): (WebCore::InspectorDOMAgent::getInlineStyle): (WebCore::InspectorDOMAgent::getComputedStyle): (WebCore::InspectorDOMAgent::getMatchedCSSRules): (WebCore::InspectorDOMAgent::getAttributeStyles): (WebCore::InspectorDOMAgent::applyStyleText): (WebCore::InspectorDOMAgent::setStyleText): (WebCore::InspectorDOMAgent::setStyleProperty): (WebCore::InspectorDOMAgent::toggleStyleEnabled): (WebCore::InspectorDOMAgent::setRuleSelector): (WebCore::InspectorDOMAgent::addRule): (WebCore::InspectorDOMAgent::bindStyle): (WebCore::InspectorDOMAgent::bindRule): (WebCore::InspectorDOMAgent::buildObjectForStyle): (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties): (WebCore::InspectorDOMAgent::buildObjectForRule): (WebCore::InspectorDOMAgent::uniqueStyleProperties): (WebCore::InspectorDOMAgent::longhandProperties): (WebCore::InspectorDOMAgent::shorthandPriority): (WebCore::InspectorDOMAgent::ruleAffectsNode): (WebCore::InspectorDOMAgent::toArray): * inspector/InspectorDOMAgent.h: * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::didGetEventListenersForNode): (WebCore::InspectorFrontend::didGetStyles): (WebCore::InspectorFrontend::didGetComputedStyle): (WebCore::InspectorFrontend::didGetInlineStyle): (WebCore::InspectorFrontend::didApplyStyleText): (WebCore::InspectorFrontend::didSetStyleText): (WebCore::InspectorFrontend::didSetStyleProperty): (WebCore::InspectorFrontend::didToggleStyleEnabled): (WebCore::InspectorFrontend::didSetRuleSelector): (WebCore::InspectorFrontend::didAddRule): * inspector/InspectorFrontend.h: * inspector/front-end/DOMAgent.js: (WebInspector.CSSStyleDeclaration): * inspector/front-end/ElementsTreeOutline.js: * inspector/front-end/InjectedScript.js: * inspector/front-end/MetricsSidebarPane.js: (WebInspector.MetricsSidebarPane.prototype.update): (WebInspector.MetricsSidebarPane.prototype.editingCommitted): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype.update): (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback): (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.callback): (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): (WebInspector.StylePropertyTreeElement.prototype): (WebInspector.StylePropertyTreeElement.prototype.): 2010-03-16 Shinichiro Hamaji Reviewed by Darin Adler. RenderText::m_text should be a String, not RefPtr https://bugs.webkit.org/show_bug.cgi?id=36010 Refactoring only, so no new tests. * platform/text/PlatformString.h: (WebCore::String::makeLower): (WebCore::String::makeUpper): (WebCore::String::makeSecure): (WebCore::String::makeCapitalized): (WebCore::String::containsOnlyASCII): * rendering/RenderText.cpp: (WebCore::RenderText::RenderText): (WebCore::RenderText::widthFromCache): (WebCore::RenderText::trimmedPrefWidths): (WebCore::RenderText::containsOnlyWhitespace): (WebCore::RenderText::setTextInternal): (WebCore::RenderText::setText): (WebCore::RenderText::previousOffset): (WebCore::RenderText::previousOffsetForBackwardDeletion): (WebCore::RenderText::nextOffset): * rendering/RenderText.h: (WebCore::RenderText::text): (WebCore::RenderText::characters): (WebCore::RenderText::textLength): 2010-03-16 Adam Barth Reviewed by Darin Adler. noscript tag should render when @sandbox disables JavaScript https://bugs.webkit.org/show_bug.cgi?id=36092 Instead of talking to Settings directly to figure out if JavaScript is enabled in a frame, we need to talk to the ScriptController. The ScriptController is better at answering that question because it knows about @sandbox. Test: fast/frames/sandboxed-iframe-noscript.html * dom/Document.cpp: (WebCore::Document::Document): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createRenderer): * html/HTMLElement.cpp: (WebCore::HTMLElement::rendererIsNeeded): * html/HTMLParser.cpp: (WebCore::HTMLParser::noscriptCreateErrorCheck): (WebCore::HTMLParser::isInline): * plugins/PluginView.cpp: (WebCore::PluginView::load): 2010-03-15 John Gregg Reviewed by David Levin. Notification object should expose absolute URL of icon https://bugs.webkit.org/show_bug.cgi?id=35800 Covered by existing tests. * notifications/Notification.cpp: (WebCore::Notification::Notification): * notifications/Notification.h: (WebCore::Notification::iconURL): 2010-03-15 Leandro Pereira Reviewed by Holger Freyther. Add EFL port files to platform/efl. http://webkit.org/b/35887 * platform/efl/ClipboardEfl.cpp: Added. * platform/efl/PasteboardEfl.cpp: Added. 2010-03-15 Kent Tamura Reviewed by Eric Seidel. Don't submit disabled menu options. https://bugs.webkit.org/show_bug.cgi?id=35056 Test: fast/forms/menulist-disabled-selected-option.html * dom/OptionElement.h: * dom/SelectElement.cpp: (WebCore::SelectElement::appendFormData): If a selected option is disabled, skip it. Remove code for non-selected menulist because of compatibility with other browsers. 2010-03-15 Leandro Pereira Reviewed by Holger Freyther. Add EFL port files to platform/efl. http://webkit.org/b/35884 * platform/efl/FileSystemEfl.cpp: Added. 2010-03-15 Leandro Pereira Reviewed by Holger Freyther. Add EFL port files to platform/efl. http://webkit.org/b/35882 * platform/efl/ContextMenuItemEfl.cpp: Added. 2010-03-15 Joanmarie Diggs Reviewed by Holger Freyther. https://bugs.webkit.org/show_bug.cgi?id=35502 [Gtk] Objects of ATK_ROLE_TABLE should not implement AtkText Simple change to stop tables from implementing AtkText. * accessibility/gtk/AccessibilityObjectAtk.cpp: (getInterfaceMaskFromObject): 2010-03-15 Adam Bergkvist Reviewed by Adam Barth. According to the updated specification, a data field should always result in a newline character being appended to the data buffer regardless if the data buffer contains any data or not. However, upon event dispatch, the last newline will be removed. This differs from an older version of the specification where a newline character was appended before the data value only if the buffer already contained data. As a result, EventSource now supports receiving events with empty data or newline characters only. https://bugs.webkit.org/show_bug.cgi?id=33210 * page/EventSource.cpp: (WebCore::EventSource::parseEventStreamLine): 2010-03-15 Valters Svabe Reviewed by Darin Adler. :after selector displays in wrong place with nested div https://bugs.webkit.org/show_bug.cgi?id=32288 Make sure we don't append things after :after-generated content, if it's inside an anonymous block. Test: fast/css-generated-content/block-after.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::addChild): 2010-03-15 Leandro Pereira Reviewed by Eric Seidel. Add EFL port files to platform/efl. http://webkit.org/b/35885 * platform/efl/KURLEfl.cpp: Added. 2010-03-15 Chris Fleizach Reviewed by Beth Dakin. VO not able to perform a VO-spacebar on facebook links https://bugs.webkit.org/show_bug.cgi?id=36132 When a label element is used as a click event handler, and it doesn't have any corresponding control, it should handle the action itself. Test: accessibility/label-element-press.html * html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::accessKeyAction): 2010-03-15 Cameron Zwarich Reviewed by Geoff Garen. Bug 36135 - GCController::garbageCollectNow() crashes when called from garbage collection * bindings/js/GCController.cpp: (WebCore::GCController::garbageCollectNow): Fail silently if garbage collection is active rather than hitting the CRASH() reentrancy guard. 2010-03-15 Simon Fraser Reviewed by Dan Bernstein. Drop out of compositing mode when no elements need to composite https://bugs.webkit.org/show_bug.cgi?id=36134 When no more elements on the page need to be composited, drop out of compositing mode altogether, including removing the layer-backed view that hosts the layers. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateCompositingLayers): If the list of child layers to attach at the root is empty, we have no composited layers, and can drop out of compositing mode by calling willMoveOffscreen(). (WebCore::RenderLayerCompositor::computeCompositingRequirements): In several places, use willBeComposited rather than calling needsToBeComposited(), because it avoids recomputing state that we know already (but assert that we're getting it right). When we're assessing the root layer in post-order, see if we have any child layers that are compositing, and also whether the root itself needs to composite. If neither are true, then we can drop out of compositing mode. (WebCore::RenderLayerCompositor::needsToBeComposited): (WebCore::RenderLayerCompositor::requiresCompositingLayer): Move the "inCompositingMode() && layer->isRootLayer()" test out of requiresCompositingLayer() and into needsToBeComposited() so that we can call requiresCompositingLayer() separately on the root layer above. 2010-03-15 Leandro Pereira Reviewed by Kenneth Rohde Christiansen. Add EFL port files to platform/efl. http://webkit.org/b/35888 * platform/efl/SoundEfl.cpp: Added. 2010-03-15 Andy Estes Reviewed by John Sullivan. For continuous scrolling devices on the Mac (trackpads and Mighty/Magic Mice), set the number of wheel ticks equal to the atomic increment of the device: a pixel. This ensures that any scrolling action will generate at least one wheel tick, regardless of the speed/length of the gesture. https://bugs.webkit.org/show_bug.cgi?id=29601 Tests: fast/events/continuous-platform-wheelevent-in-scrolling-div.html fast/events/platform-wheelevent-in-scrolling-div.html * platform/mac/WebCoreSystemInterface.h: Modify method signature. * platform/mac/WebCoreSystemInterface.mm: Ditto. * platform/mac/WheelEventMac.mm: (WebCore::PlatformWheelEvent::PlatformWheelEvent): Call into WebKitSystemInterface to determine both wheelTicksX/Y and deltaX/Y. WKSI will query the event system for number of wheel ticks and pixels/lines scrolled based on the device type. 2010-03-15 Philippe Normand Reviewed by Gustavo Noronha Silva. [GStreamer] duration query optimizations https://bugs.webkit.org/show_bug.cgi?id=36116 Don't reattempt duration queries that previously failed and cache media duration only if it's known. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::duration): (WebCore::MediaPlayerPrivate::updateStates): (WebCore::MediaPlayerPrivate::durationChanged): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 2010-03-11 Peter Kasting Reviewed by Adam Barth. Clean up more bits of the open-source image decoders. In addition to simplifying things somewhat, this makes all the decoders the same in terms of how they construct "image reader" subclasses and init scale data. https://bugs.webkit.org/show_bug.cgi?id=36040 No functional change, so no tests. * platform/image-decoders/ImageDecoder.h: Reorder a few declarations to try and group/order members slightly better. (WebCore::ImageDecoder::ImageDecoder): * platform/image-decoders/gif/GIFImageDecoder.cpp: Move reader construction into decode(). Prep scale data in setSize(). Remove useless comment. (WebCore::GIFImageDecoder::setData): (WebCore::GIFImageDecoder::setSize): (WebCore::GIFImageDecoder::frameBufferAtIndex): (WebCore::GIFImageDecoder::decode): * platform/image-decoders/gif/GIFImageDecoder.h: Prep scale data in setSize(). * platform/image-decoders/gif/GIFImageReader.cpp: Prep scale data in setSize(). (GIFImageReader::read): * platform/image-decoders/ico/ICOImageDecoder.cpp: Shorten code. (WebCore::ICOImageDecoder::setSize): * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Fix style. Move reader construction into decode(). (WebCore::JPEGImageReader::close): (WebCore::JPEGImageReader::skipBytes): (WebCore::JPEGImageDecoder::decode): * platform/image-decoders/jpeg/JPEGImageDecoder.h: Move reader construction into decode(). (WebCore::JPEGImageDecoder::filenameExtension): * platform/image-decoders/png/PNGImageDecoder.cpp: Move reader construction into decode(). Track completion on decoder, not reader. Prep scale data in setSize(). Remove useless comment. (WebCore::PNGImageReader::PNGImageReader): (WebCore::PNGImageReader::close): (WebCore::PNGImageReader::decode): (WebCore::PNGImageDecoder::setSize): (WebCore::PNGImageDecoder::frameBufferAtIndex): (WebCore::PNGImageDecoder::headerAvailable): (WebCore::PNGImageDecoder::pngComplete): (WebCore::PNGImageDecoder::decode): * platform/image-decoders/png/PNGImageDecoder.h: Move reader construction into decode(). Track completion on decoder, not reader. Prep scale data in setSize(). (WebCore::PNGImageDecoder::filenameExtension): (WebCore::PNGImageDecoder::isComplete): 2010-03-15 Philippe Normand Reviewed by Gustavo Noronha Silva. [GStreamer] updateStates called for all elements posting a state-change https://bugs.webkit.org/show_bug.cgi?id=36115 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::mediaPlayerPrivateMessageCallback): Update player state only for state-change messages coming from playbin2 directly. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: (WebCore::MediaPlayerPrivate::pipeline): public accessor for the playbin element. 2010-03-15 Jian Li Reviewed by Nate Chapin. [v8] Add V8 bindings for DOMFormData. https://bugs.webkit.org/show_bug.cgi?id=36026 Test: http/tests/local/send-form-data.html * Android.v8bindings.mk: * WebCore.gypi: * bindings/v8/V8Index.h: * bindings/v8/custom/V8DOMFormDataCustom.cpp: Added. * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: (WebCore::V8XMLHttpRequest::sendCallback): 2010-03-15 Jian Li Reviewed by Sam Weinig. Add DOMFormData.idl to expose FormData interface. https://bugs.webkit.org/show_bug.cgi?id=36024 The implementation is based on XMLHttpRequest 2 spec: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata Test: http/tests/local/send-form-data.html * Android.derived.jscbindings.mk: * Android.derived.v8bindings.mk: * Android.jscbindings.mk: * DerivedSources.cpp: * DerivedSources.make: * GNUmakefile.am: * WebCore.pri: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSDOMFormDataCustom.cpp: Added. * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::send): * bindings/scripts/CodeGeneratorJS.pm: * html/DOMFormData.idl: Added. * page/DOMWindow.idl: 2010-03-15 Patrik Persson Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=32369 Revise iframe sandbox behavior to match the updated HTML5 spec. - Enables window.sessionStorage in sandboxed iframes. - Raises SECURITY_ERR exceptions when window.localStorage or window.openDatabase() is blocked by iframe sandboxing. Note: window.sessionStorage does not raise exceptions. WebKit would previously return null references in these cases. The new behavior is in accordance with HTML5: http://dev.w3.org/html5/webstorage/ (sections 4.2 and 4.3) http://dev.w3.org/html5/webdatabase/ (section 4.1) http://www.mail-archive.com/whatwg@lists.whatwg.org/msg19786.html * inspector/InspectorController.cpp: (WebCore::InspectorController::selectDOMStorage): exception handling * inspector/InspectorDOMStorageResource.cpp: (WebCore::InspectorDOMStorageResource::handleEvent): exception handling * page/DOMWindow.cpp: (WebCore::DOMWindow::sessionStorage): re-enabled in iframe sandbox (WebCore::DOMWindow::localStorage): raise exception rather than return null (WebCore::DOMWindow::openDatabase): raise exception rather than return null * page/DOMWindow.h: added exceptions to interface * page/DOMWindow.idl: added exceptions to interface * page/SecurityOrigin.h: (WebCore::SecurityOrigin::canAccessLocalStorage): renamed function to reflect its purpose * storage/StorageEventDispatcher.cpp: (WebCore::StorageEventDispatcher::dispatch): exception handling 2010-03-15 Alexander Pavlov Reviewed by Timothy Hatcher. Web Inspector: Implement a progress indicator in the Audits panel when resources are reloading https://bugs.webkit.org/show_bug.cgi?id=35971 * English.lproj/localizedStrings.js: * GNUmakefile.am: * WebCore.gypi: * inspector/front-end/AuditLauncherView.js: (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState): (WebInspector.AuditLauncherView.prototype.get totalResources): (WebInspector.AuditLauncherView.prototype.set totalResources): (WebInspector.AuditLauncherView.prototype.get loadedResources): (WebInspector.AuditLauncherView.prototype.set loadedResources): (WebInspector.AuditLauncherView.prototype._resetResourceCount): (WebInspector.AuditLauncherView.prototype.resourceStarted): (WebInspector.AuditLauncherView.prototype.resourceFinished): (WebInspector.AuditLauncherView.prototype.reset): (WebInspector.AuditLauncherView.prototype._setAuditRunning): (WebInspector.AuditLauncherView.prototype._launchButtonClicked): (WebInspector.AuditLauncherView.prototype._createCategoryElement): (WebInspector.AuditLauncherView.prototype._createLauncherUI): (WebInspector.AuditLauncherView.prototype._updateResourceProgress): (WebInspector.AuditLauncherView.prototype._updateButton): * inspector/front-end/AuditsPanel.js: (WebInspector.AuditsPanel.prototype.resourceStarted): (WebInspector.AuditsPanel.prototype.resourceFinished): (WebInspector.AuditsPanel.prototype.reset): * inspector/front-end/Images/spinner.gif: Added. * inspector/front-end/WebKit.qrc: * inspector/front-end/audits.css: (.audit-launcher-view .resource-progress > img): * inspector/front-end/inspector.js: (WebInspector.updateResource): 2010-03-15 Philippe Normand Reviewed by Gustavo Noronha Silva. [GStreamer] replace g_idle_add / g_timeout_add calls with Timers in the gstreamer player https://bugs.webkit.org/show_bug.cgi?id=35735 Replaced g_idle_add calls with Timers immediately started once only. The g_timeout_add was replaced by a periodic Timer. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::volumeChangedTimerFired): (WebCore::MediaPlayerPrivate::volumeChanged): (WebCore::MediaPlayerPrivate::processBufferingStats): (WebCore::MediaPlayerPrivate::fillTimerFired): (WebCore::MediaPlayerPrivate::maxTimeLoaded): (WebCore::MediaPlayerPrivate::updateStates): (WebCore::MediaPlayerPrivate::muteChangedTimerFired): (WebCore::MediaPlayerPrivate::muteChanged): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 2010-03-12 Gustavo Noronha Silva Reviewed by Eric Carlson. media/video-preload.html fails https://bugs.webkit.org/show_bug.cgi?id=35793 Only effectively load, and start buffering when playing, or when the preload attribute is set. Test: media/video-preload.html * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::load): (WebCore::MediaPlayerPrivate::commitLoad): (WebCore::MediaPlayerPrivate::prepareToPlay): (WebCore::MediaPlayerPrivate::setPreload): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 2010-03-15 Shu Chang Reviewed by Holger Freyther. [Qt] The behavior of QGradient with no stops is defined differently from HTML5 spec, where the latter requires the gradient to be transparent black. Explicitly added a transparent black color stop to match the HTML5 behavior. https://bugs.webkit.org/show_bug.cgi?id=36060 * platform/graphics/qt/GradientQt.cpp: (WebCore::Gradient::platformGradient): 2010-03-11 Antonio Gomes Rubber-stamped by Holger Freyther. Patch by Antonio Gomes Some minor code clean ups in SpatialNavigation.cpp * page/SpatialNavigation.cpp: (WebCore::distanceInDirection): (WebCore::deflateIfOverlapped): 2010-03-13 Ilya Tikhonovsky Reviewed by Timothy Hatcher. WebInspector: Position of GraphBar elements is calculating more carefully and they fully visible at the bottom of Timeline panel. http://bugs.webkit.org/show_bug.cgi?id=35966 * inspector/front-end/TimelinePanel.js: (WebInspector.TimelineRecordGraphRow.prototype.update): 2010-03-15 MORITA Hajime Reviewed by Alexey Proskuryakov. Selection.modify extends too far with 'lineboundary'. https://bugs.webkit.org/show_bug.cgi?id=33413 Selection.modify() with 'lineboundary' granularity implies just "Go to the end of the line", unlike selection expansion with other type of granularities. This change handled LineGranularity as special case, to look-up end of line with UPSTREAM affinity. Doing this prevents look-up algorithm to go next line. Test: editing/selection/extend-selection-expected.txt * dom/Position.cpp: (WebCore::Position::getInlineBoxAndOffset): Handled an edge case for node look-up with UPSTREAM. * editing/SelectionController.cpp: (WebCore::SelectionController::modifyExtendingForward): Added UPSTREAM tweak for the case for LineGranularity. 2010-03-14 Yuzo Fujishima Reviewed by Shinichiro Hamaji. Always call PrintContext.end() from PrintContext::pageNumberForElement(). Without this change, WebKit remains in printing mode after determining the page number if the specified element is found. https://bugs.webkit.org/show_bug.cgi?id=36049 Test: printing/return-from-printing-mode.html * page/PrintContext.cpp: (WebCore::PrintContext::pageNumberForElement): 2010-03-11 Philippe Normand Reviewed by Gustavo Noronha Silva. [GStreamer] progressTimer never stopped after EOS https://bugs.webkit.org/show_bug.cgi?id=36007 Mark the pipeline as paused only if playback hasn't ended yet. When didEnd() is triggered, the pipeline is paused (but paused() still returns false) and a timeupdate event is fired, those 2 conditions allow the HTMLMediaElement to stop the progressTimer (in updatePlayerState, via mediaPlayerTimeChanged). * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::updateStates): 2010-03-14 Chang Shu Reviewed by Simon Hausmann. [Qt] [Symbian] Added block for ENABLE_SYMBIAN_DIALOG_PROVIDERS on Symbian platform. https://bugs.webkit.org/show_bug.cgi?id=35919 * WebCore.pro: 2010-03-14 Yael Aharon Reviewed by Darin Adler. Support for HTMLProgressElement https://bugs.webkit.org/show_bug.cgi?id=35937 Added support for HTMLProgressElement. This implementation is enabled only for Qt, because only RenderThemeQt was modified to actually draw the progress element. The labels attribute of the progress element will be implemented in a separate patch. Tests: fast/dom/HTMLProgressElement/progress-element.html fast/dom/HTMLProgressElement/set-progress-properties.html * DerivedSources.cpp: * DerivedSources.make: * GNUmakefile.am: * WebCore.gypi: * WebCore.pri: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): * css/CSSValueKeywords.in: * css/html.css: * html/HTMLElement.cpp: (WebCore::inlineTagList): * html/HTMLElementsAllInOne.cpp: * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::HTMLFormControlElement): * html/HTMLFormControlElement.h: * html/HTMLProgressElement.cpp: Added. (WebCore::HTMLProgressElement::HTMLProgressElement): (WebCore::HTMLProgressElement::create): (WebCore::HTMLProgressElement::createRenderer): (WebCore::HTMLProgressElement::formControlType): (WebCore::HTMLProgressElement::parseMappedAttribute): (WebCore::HTMLProgressElement::value): (WebCore::HTMLProgressElement::setValue): (WebCore::HTMLProgressElement::max): (WebCore::HTMLProgressElement::setMax): (WebCore::HTMLProgressElement::position): * html/HTMLProgressElement.h: Added. (WebCore::HTMLProgressElement::isOptionalFormControl): * html/HTMLProgressElement.idl: Added. * html/HTMLTagNames.in: * page/DOMWindow.idl: * platform/ThemeTypes.h: * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::adjustProgressBarStyle): (WebCore::RenderThemeQt::paintProgressBar): * platform/qt/RenderThemeQt.h: * rendering/RenderObject.h: (WebCore::RenderObject::isProgress): * rendering/RenderProgress.cpp: Added. (WebCore::RenderProgress::RenderProgress): (WebCore::RenderProgress::baselinePosition): (WebCore::RenderProgress::calcPrefWidths): (WebCore::RenderProgress::layout): (WebCore::RenderProgress::updateFromElement): * rendering/RenderProgress.h: Added. (WebCore::RenderProgress::renderName): (WebCore::RenderProgress::isProgress): (WebCore::toRenderProgress): * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): (WebCore::RenderTheme::paint): (WebCore::RenderTheme::paintBorderOnly): (WebCore::RenderTheme::paintDecorations): (WebCore::RenderTheme::adjustProgressBarStyle): * rendering/RenderTheme.h: (WebCore::RenderTheme::paintProgressBar): 2010-03-14 Oliver Hunt Reviewed by Darin Adler. REGRESSION(r53287): drop event is not fired if dataTransfer.dropEffect is not explicitly set https://bugs.webkit.org/show_bug.cgi?id=36095 The issue here is that while dropEffect is meant to be initialized to "none", the behaviour of the drag is differs between dragEffect not being set and dragEffect being explicitly set to "none" This patch corrects this behaviour by making Clipboard distinguish between the initial "none" value of dropEffect and an explicit "none". This alone is insufficient for correct behaviour, we also need to resurrect the removed defaultOperationForDrag function, but we now use the function only when dragEffect is uninitialized. There are a few tweaks to the behaviour of the defaultOperationForDrag as well to ensure exactly the same set of outcomes for all cases that we may hit it. * dom/Clipboard.cpp: (WebCore::Clipboard::Clipboard): (WebCore::dragOpFromIEOp): (WebCore::Clipboard::destinationOperation): * dom/Clipboard.h: (WebCore::Clipboard::dropEffect): (WebCore::Clipboard::dropEffectIsUninitialized): * page/DragController.cpp: (WebCore::defaultOperationForDrag): (WebCore::DragController::tryDHTMLDrag): 2010-03-14 Antti Koivisto Reviewed by Simon Hausmann. https://bugs.webkit.org/show_bug.cgi?id=35146 Support tiled backing store Implements a basic tiled backing store mechanism. Tiles are created and deleted on demand. The page content is cached to the tiles. Tile content is kept in sync with the document. Since the backing store covers area larger than the currently visible viewport, the document can be scrolled quickly without having to enter rendering tree painting. The tile management code is platform independent. This patch has simple QPixmap based tile implementation for Qt. The feature is behind ENABLE_TILED_BACKING_STORE flag. * WebCore.pri: * WebCore.pro: * page/Frame.cpp: (WebCore::Frame::Frame): (WebCore::Frame::setTiledBackingStoreEnabled): (WebCore::Frame::tiledBackingStorePaintBegin): (WebCore::Frame::tiledBackingStorePaint): (WebCore::Frame::tiledBackingStorePaintEnd): (WebCore::Frame::tiledBackingStoreContentsRect): * page/Frame.h: (WebCore::Frame::tiledBackingStore): * page/FrameView.cpp: (WebCore::FrameView::repaintContentRectangle): (WebCore::FrameView::doDeferredRepaints): * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setTiledBackingStoreEnabled): * page/Settings.h: (WebCore::Settings::tiledBackingStoreEnabled): * platform/graphics/Tile.h: Added. (WebCore::Tile::create): (WebCore::Tile::coordinate): (WebCore::Tile::rect): * platform/graphics/TiledBackingStore.cpp: Added. (WebCore::TiledBackingStore::TiledBackingStore): (WebCore::TiledBackingStore::~TiledBackingStore): (WebCore::TiledBackingStore::invalidate): (WebCore::TiledBackingStore::updateTileBuffers): (WebCore::TiledBackingStore::paint): (WebCore::TiledBackingStore::viewportChanged): (WebCore::TiledBackingStore::setContentsScale): (WebCore::TiledBackingStore::tileDistance): (WebCore::TiledBackingStore::createTiles): (WebCore::TiledBackingStore::dropOverhangingTiles): (WebCore::TiledBackingStore::dropTilesOutsideRect): (WebCore::TiledBackingStore::tileAt): (WebCore::TiledBackingStore::setTile): (WebCore::TiledBackingStore::removeTile): (WebCore::TiledBackingStore::mapToContents): (WebCore::TiledBackingStore::mapFromContents): (WebCore::TiledBackingStore::contentsRect): (WebCore::TiledBackingStore::tileRectForCoordinate): (WebCore::TiledBackingStore::tileCoordinateForPoint): (WebCore::TiledBackingStore::startTileBufferUpdateTimer): (WebCore::TiledBackingStore::tileBufferUpdateTimerFired): (WebCore::TiledBackingStore::startTileCreationTimer): (WebCore::TiledBackingStore::tileCreationTimerFired): (WebCore::TiledBackingStore::setContentsFrozen): * platform/graphics/TiledBackingStore.h: Added. (WebCore::TiledBackingStore::contentsScale): (WebCore::TiledBackingStore::contentsFrozen): * platform/graphics/TiledBackingStoreClient.h: Added. * platform/graphics/qt/TileQt.cpp: Added. (WebCore::checkeredPixmap): (WebCore::Tile::Tile): (WebCore::Tile::~Tile): (WebCore::Tile::isDirty): (WebCore::Tile::isReadyToPaint): (WebCore::Tile::invalidate): (WebCore::Tile::updateBackBuffer): (WebCore::Tile::swapBackBufferToFront): (WebCore::Tile::paint): (WebCore::Tile::paintCheckerPattern): 2010-03-14 Dan Bernstein Reviewed by Darin Adler. WebCore part of removing support for legacy versions of Core Graphics * WebCore.vcproj/WebCore.vcproj: Removed FontDatabase.{cpp,h} * platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs): Removed call to wkCanCreateCGFontWithLOGFONT(), as it is now always true. * platform/graphics/win/FontCacheWin.cpp: (WebCore::FontCache::createFontPlatformData): Ditto. * platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Updated for the removal of m_cgFont. (WebCore::FontCustomPlatformData::fontPlatformData): Removed call to wkCanCreateCGFontWithLOGFONT(), as it is now always true. (WebCore::createFontCustomPlatformData): Ditto. Also updated for change to the FontCustomPlatformData constructor. * platform/graphics/win/FontCustomPlatformData.h: Removed m_cgFont member. (WebCore::FontCustomPlatformData::FontCustomPlatformData): Removed cgFont parameter. * platform/graphics/win/FontDatabase.cpp: Removed. * platform/graphics/win/FontDatabase.h: Removed. * platform/graphics/win/FontPlatformDataCGWin.cpp: (WebCore::FontPlatformData::platformDataInit): Removed call to wkCanCreateCGFontWithLOGFONT(), as it is now always true. * platform/win/TemporaryLinkStubs.cpp: (WebCore::populateFontDatabase): Removed stub. 2010-03-14 Jessie Berlin Reviewed by Sam Weinig. "event.ctrlKey" is always false when dragging an element with "ctrl" key down https://bugs.webkit.org/show_bug.cgi?id=17113 No new tests. * page/DragController.cpp: (WebCore::createMouseEvent): Use the current state of the shift, ctrl, alt, and meta keys when creating the drag mouse event. 2010-03-13 Antonio Gomes Not reviewed identation fix. * manual-tests/spatial-navigation/spatial-navigation-test-cases.html: 2010-03-13 Kim Grönholm Reviewed by Kenneth Rohde Christiansen. [Qt] GraphicsLayer: Opacity change from zero to non-zero doesn't always have effect with AC https://bugs.webkit.org/show_bug.cgi?id=36034 * platform/graphics/qt/GraphicsLayerQt.cpp: (WebCore::OpacityAnimationQt::applyFrame): 2010-03-13 Kim Grönholm Reviewed by Kenneth Rohde Christiansen. [Qt] GraphicsLayer: Opacity transitions end with begin value https://bugs.webkit.org/show_bug.cgi?id=36019 * platform/graphics/qt/GraphicsLayerQt.cpp: (WebCore::AnimationQt::updateCurrentTime): 2010-03-13 Dirk Schulze No review, rolling out r55927. http://trac.webkit.org/changeset/55927 https://bugs.webkit.org/show_bug.cgi?id=35793 Breaks Gtk build bots. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::load): (WebCore::MediaPlayerPrivate::setPreload): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 2010-03-12 Dirk Schulze Reviewed by Nikolas Zimmermann. SVG Glyphs - transform path not context https://bugs.webkit.org/show_bug.cgi?id=36070 SVGFont should transform the path of a glyph, not the context. Modifying the context causes wrong gradient transformations. This bug doesn't influence CG because we generally fill or stroke texts with a mask image. All other platforms provide a direct way to make the drawings. * svg/SVGFont.cpp: (WebCore::Font::drawTextUsingSVGFont): 2010-03-12 Beth Dakin Reviewed by Simon Fraser. Fix for https://bugs.webkit.org/show_bug.cgi?id=34942 Fullscreen API naming is inconsistent -and corresponding- This patch changes all occurrences of "fullScreen" to the more popular "fullscreen." webkitEnterFullScreen and webkitExitFullScreen have been maintained for now for backwards compatibility. * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitEnterFullscreen): (WebCore::HTMLVideoElement::webkitExitFullscreen): * html/HTMLVideoElement.h: (WebCore::HTMLVideoElement::webkitEnterFullScreen): (WebCore::HTMLVideoElement::webkitExitFullScreen): * html/HTMLVideoElement.idl: * platform/graphics/mac/MediaPlayerProxy.h: 2010-03-12 James Robinson Reviewed by Adam Barth. Add virtual destructor to DOMWrapperWorld https://bugs.webkit.org/show_bug.cgi?id=36077 DOMWrapperWorld is RefCounted. IsolatedWorld inherits from DOMWrapperWorld and has member variables with destructors, so DOMWrapperWorld needs to have a declared virtual d'tor to ensure that its derived class's destructors are called. No new tests, no change in behavior * bindings/v8/DOMWrapperWorld.h: (WebCore::DOMWrapperWorld::~DOMWrapperWorld): 2010-03-11 Gavin Barraclough Reviewed by Oliver Hunt. Bug 36075 - Clean up screwyness re static string impls & Identifiers. * platform/text/StringImpl.cpp: (WebCore::StringImpl::~StringImpl): Add ASSERT (WebCore::StringImpl::sharedBuffer): Add ASSERT * platform/text/StringImpl.h: (WebCore::StringImpl::setHash): Add ASSERT (WebCore::StringImpl::isStatic): added. 2010-03-12 Enrica Casucci Reviewed by Simon Fraser. Content of 3D tests appears at the bottom right corner sometimes. There were two problems to solve here: - the incorrect anchoring of the rootChildLayer that was causing the composited content to be positioned incorrectly - the failure to paint the non composited content into the backing store when animating composited content. The first problem has been solved by leaving the original anchor point for the rootChildLayer and splitting the tasks of clipping and scrolling using two separate layers. The second problem has been solved leveraging the knowledge that WebView has of the dirty region of the backing store to pass this information to the layer renderer. This allows the renderer to force a paint into the backing store before moving to the compositing. Tests: compositing/geometry/horizontal-scroll-composited.html compositing/geometry/vertical-scroll-composited.html * manual-tests/win/horizontal-scroll-composited.html: Removed. This is now a layout test. * manual-tests/win/milliondollar.html: Added. * platform/graphics/win/WKCACFLayerRenderer.cpp: (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Added initialization of dirty flag. (WebCore::WKCACFLayerRenderer::setScrollFrame): (WebCore::WKCACFLayerRenderer::updateScrollFrame): Updated to resize and position the clip and scroll layers. (WebCore::WKCACFLayerRenderer::setRootChildLayer): (WebCore::WKCACFLayerRenderer::createRenderer): Added new layer hierarchy. (WebCore::WKCACFLayerRenderer::destroyRenderer): Remove clip layer on destroy. (WebCore::WKCACFLayerRenderer::resize): (WebCore::WKCACFLayerRenderer::paint): Forcing paint massage to trigger paint into the backing store. * platform/graphics/win/WKCACFLayerRenderer.h: (WebCore::WKCACFLayerRenderer::setBackingStoreDirty): Added. 2010-03-12 Robert Hogan Not reviewed, build fix. Revert http://trac.webkit.org/projects/webkit/changeset/55374 which broke the !ENABLE(DATABASE) build on all platforms when attempting to fix the --minimal build on Qt. Support for SQLite now seems to be non-negotiable for the Qt build but making it mandatory requires review, so re-break --minimal Qt build for now. Qt build issue now tracked at https://bugs.webkit.org/show_bug.cgi?id=36073 * page/GeolocationPositionCache.cpp: 2010-03-12 Dan Bernstein Reviewed by Alexey Proskuryakov. REGRESSION: toolbar is missing at http://www.glom.org/ https://bugs.webkit.org/show_bug.cgi?id=35507 * css/CSSImportRule.cpp: (WebCore::CSSImportRule::setCSSStyleSheet): Extend the change made in to detect the two variants of KHTMLFixes.css in @import rules as well as in elements. 2010-03-12 Gavin Barraclough Reviewed by Geoff Garen. Bug 36052 - [Qt] REGRESSION(55878) 63 test cases crash r55878 changed UStringImpl::empty()->characters() to be non-null, so TextBreakIteratorQt.cpp now should check the length of strings (previously was assuming all strings with a non-null data pointer had a length of at least 1). * platform/text/qt/TextBreakIteratorQt.cpp: (WebCore::wordBreakIterator): (WebCore::characterBreakIterator): (WebCore::lineBreakIterator): (WebCore::sentenceBreakIterator): 2010-03-12 Dirk Schulze Reviewed by Nikolas Zimmermann. SVG fallback color doesn't work for bogus gradients. https://bugs.webkit.org/show_bug.cgi?id=35479 Use a given fallback color on ignored gradients if present. Gradients must be ignored, if one dimension of the objects boundingBox is zero. Test: svg/custom/gradient-with-1d-boundingbox.svg * svg/graphics/SVGPaintServer.cpp: (WebCore::SVGPaintServer::strokePaintServer): * svg/graphics/SVGPaintServerGradient.cpp: (WebCore::SVGPaintServerGradient::setup): 2010-03-12 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=36069 Eliminate InlineRunBox. * WebCore.xcodeproj/project.pbxproj: * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::adjustPosition): (WebCore::InlineFlowBox::paintFillLayer): (WebCore::InlineFlowBox::paintBoxDecorations): (WebCore::InlineFlowBox::paintMask): * rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::InlineFlowBox): (WebCore::InlineFlowBox::prevLineBox): (WebCore::InlineFlowBox::nextLineBox): (WebCore::InlineFlowBox::setNextLineBox): (WebCore::InlineFlowBox::setPreviousLineBox): * rendering/InlineRunBox.h: Removed. * rendering/InlineTextBox.h: (WebCore::InlineTextBox::InlineTextBox): (WebCore::InlineTextBox::prevTextBox): (WebCore::InlineTextBox::nextTextBox): (WebCore::InlineTextBox::setNextTextBox): (WebCore::InlineTextBox::setPreviousTextBox): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::destroy): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition): * rendering/RenderInline.cpp: (WebCore::RenderInline::destroy): (WebCore::RenderInline::absoluteRects): (WebCore::RenderInline::absoluteQuads): (WebCore::RenderInline::linesBoundingBox): (WebCore::RenderInline::linesVisibleOverflowBoundingBox): (WebCore::RenderInline::addFocusRingRects): (WebCore::RenderInline::paintOutline): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::localBoundingBox): * rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::deleteLineBoxTree): (WebCore::RenderLineBoxList::extractLineBox): (WebCore::RenderLineBoxList::attachLineBox): (WebCore::RenderLineBoxList::removeLineBox): (WebCore::RenderLineBoxList::deleteLineBoxes): (WebCore::RenderLineBoxList::dirtyLineBoxes): (WebCore::RenderLineBoxList::paint): (WebCore::RenderLineBoxList::hitTest): (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): (WebCore::RenderLineBoxList::checkConsistency): * rendering/RenderSVGInline.cpp: (WebCore::RenderSVGInline::absoluteRects): (WebCore::RenderSVGInline::absoluteQuads): * rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::absoluteRects): (WebCore::RenderSVGText::absoluteQuads): (WebCore::RenderSVGText::objectBoundingBox): * rendering/RenderText.cpp: (WebCore::RenderText::extractTextBox): (WebCore::RenderText::attachTextBox): (WebCore::RenderText::removeTextBox): (WebCore::RenderText::createInlineTextBox): (WebCore::RenderText::positionLineBox): * rendering/RootInlineBox.h: (WebCore::RootInlineBox::nextRootBox): (WebCore::RootInlineBox::prevRootBox): 2010-03-12 Gustavo Noronha Silva Reviewed by Eric Carlson. media/video-preload.html fails https://bugs.webkit.org/show_bug.cgi?id=35793 Only effectively load, and start buffering when playing, or when the preload attribute is set. Test: media/video-preload.html * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::load): (WebCore::MediaPlayerPrivate::commitLoad): (WebCore::MediaPlayerPrivate::prepareToPlay): (WebCore::MediaPlayerPrivate::setPreload): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 2010-03-12 Dmitry Titov Not reviewed, build fix. Reverts 55920 and 55921. Landing for Jian Li. * Android.derived.jscbindings.mk: * Android.derived.v8bindings.mk: * DerivedSources.cpp: * DerivedSources.make: * GNUmakefile.am: * WebCore.gypi: * WebCore.pri: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSDOMFormDataCustom.cpp: Removed. * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::send): * bindings/scripts/CodeGeneratorJS.pm: * bindings/v8/V8Index.h: * bindings/v8/custom/V8DOMFormDataCustom.cpp: Removed. * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: (WebCore::V8XMLHttpRequest::sendCallback): * html/DOMFormData.idl: Removed. * page/DOMWindow.idl: 2010-03-12 Jakob Petsovits Reviewed by Dirk Schulze. [OpenVG] Add support for drawing text to PainterOpenVG https://bugs.webkit.org/show_bug.cgi?id=35581 Doesn't come with any actual font classes, as OpenVG by itself doesn't provide any access to platform fonts but just the means to draw glyphs that have been loaded manually before. * platform/graphics/openvg/PainterOpenVG.cpp: (WebCore::PlatformPainterState::PlatformPainterState): (WebCore::PlatformPainterState::copyPaintState): (WebCore::PainterOpenVG::textDrawingMode): (WebCore::PainterOpenVG::setTextDrawingMode): (WebCore::PainterOpenVG::drawText): * platform/graphics/openvg/PainterOpenVG.h: 2010-03-12 Jakob Petsovits Reviewed by Dirk Schulze. [OpenVG] Use masks to implement non-rectilinear clipping https://bugs.webkit.org/show_bug.cgi?id=35544 Requires some additional context switching logic to make sure the right context is current when dealing with the mask, because we don't store it by ourselves. Initial version of this code was written by Eli Fidler , I did a couple of bug fixes and efficiency improvements since then. * platform/graphics/openvg/GraphicsContextOpenVG.cpp: (WebCore::GraphicsContext::clipPath): (WebCore::GraphicsContext::clip): (WebCore::GraphicsContext::clipOut): (WebCore::GraphicsContext::clipOutEllipseInRect): (WebCore::GraphicsContext::addInnerRoundedRectClip): * platform/graphics/openvg/PainterOpenVG.cpp: (WebCore::PlatformPainterState::PlatformPainterState): (WebCore::PlatformPainterState::~PlatformPainterState): (WebCore::PlatformPainterState::maskingEnabled): (WebCore::PlatformPainterState::applyState): (WebCore::PlatformPainterState::saveMaskIfNecessary): (WebCore::PainterOpenVG::intersectClipRect): (WebCore::PainterOpenVG::clipPath): (WebCore::PainterOpenVG::save): * platform/graphics/openvg/PainterOpenVG.h: (WebCore::PainterOpenVG::): * platform/graphics/openvg/SurfaceOpenVG.cpp: (WebCore::SurfaceOpenVG::makeCurrent): (WebCore::SurfaceOpenVG::makeCompatibleCurrent): * platform/graphics/openvg/SurfaceOpenVG.h: (WebCore::SurfaceOpenVG::): 2010-03-12 Jian Li Reviewed by Sam Weinig. Add DOMFormData.idl to expose FormData interface. https://bugs.webkit.org/show_bug.cgi?id=36024 The implementation is based on XMLHttpRequest 2 spec: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata Test: http/tests/local/send-form-data.html * Android.derived.jscbindings.mk: * Android.derived.v8bindings.mk: * DerivedSources.cpp: * DerivedSources.make: * GNUmakefile.am: * WebCore.pri: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSDOMFormDataCustom.cpp: Added. * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::send): * bindings/scripts/CodeGeneratorJS.pm: * html/DOMFormData.idl: Added. * page/DOMWindow.idl: 2010-03-12 Jakob Petsovits Reviewed by Dirk Schulze. [OpenVG] Add a SurfaceOpenVG constructor for EGL client buffer surfaces https://bugs.webkit.org/show_bug.cgi?id=35538 SurfaceOpenVG can now not only encapsulate pbuffer and window surfaces but also VGImage-based ones. * platform/graphics/openvg/EGLDisplayOpenVG.cpp: (WebCore::EGLDisplayOpenVG::createPbufferFromClientBuffer): * platform/graphics/openvg/EGLDisplayOpenVG.h: * platform/graphics/openvg/SurfaceOpenVG.cpp: (WebCore::SurfaceOpenVG::SurfaceOpenVG): * platform/graphics/openvg/SurfaceOpenVG.h: 2010-03-12 Alpha Lam Reviewed by Eric Carlson. Fix a crash when resource loading of media element is canceled. https://bugs.webkit.org/show_bug.cgi?id=35992 Use of HTMLMediaElement::duration() after resource loading was canceled will cause a crash. This is because HTMLMediaElement::m_player is used when NULL. Test: http/tests/media/video-cancel-load.html * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::duration): Avoid calling to m_player when it is null. (WebCore::HTMLMediaElement::userCancelledLoad): Set m_readyState to HAVE_NOTHING. 2010-03-12 Dan Bernstein Reviewed by Darin Adler. CSSPrimitiveValue::parserValue() returns deleted memory https://bugs.webkit.org/show_bug.cgi?id=20069 No test added, since with the CSS variables feature disabled, the pointer to the freed memory is never dereferenced. * css/CSSPrimitiveValue.cpp: (WebCore::valueOrPropertyName): Changed to return a const AtomicString& from a static table. (WebCore::CSSPrimitiveValue::parserValue): Updated for the above change. 2010-03-12 Dan Bernstein Build fix. * platform/chromium/PlatformKeyboardEventChromium.cpp: 2010-03-12 Dan Bernstein Reviewed by Darin Adler. Hover states not updated when overflow section scrolls under stationary mouse pointer https://bugs.webkit.org/show_bug.cgi?id=35949 Test: fast/events/overflow-scroll-fake-mouse-move.html Soon after an overflow section scrolls under the mouse pointer, dispatch a fake mouse move event. This is similar to how frame scrolling is handled in WebKit, and has the effect of updating hover state, dispatching DOM mouse events, and updating the tool tip. * page/EventHandler.cpp: (WebCore::EventHandler::EventHandler): Initialize m_fakeMouseMoveEventTimer. (WebCore::EventHandler::~EventHandler): Assert that the timer is not active. (WebCore::EventHandler::clear): Stop the timer. (WebCore::EventHandler::handleMousePressEvent): Cancel pending fake mouse move events. (WebCore::EventHandler::handleMouseMoveEvent): Ditto. (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad): If the mouse is in the passed-in quad, ensure that a fake mouse move event is scheduled to fire soon. (WebCore::EventHandler::cancelFakeMouseMoveEvent): Does what the name says. (WebCore::EventHandler::fakeMouseMoveEventTimerFired): Constructs a PlatformMouseEvent with the current mouse location, modifier key state and time stamp and calls mouseMoved(). * page/EventHandler.h: * platform/PlatformKeyboardEvent.h: Declared getCurrentModifierState(). * platform/android/KeyEventAndroid.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out. * platform/brew/PlatformKeyboardEventBrew.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto. * platform/chromium/PlatformKeyboardEventChromium.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added. * platform/efl/PlatformKeyboardEventEfl.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out. * platform/gtk/KeyEventGtk.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto. * platform/haiku/PlatformKeyboardEventHaiku.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added. * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto. * platform/qt/PlatformKeyboardEventQt.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out. * platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added. * platform/wx/KeyboardEventWx.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollToOffset): Call EventHandler::dispatchFakeMouseMoveEventSoonInQuad(). Moved things around a little to avoid computing the repaint rect twice. 2010-03-12 Kent Hansen Reviewed by Darin Adler. Webkit doesn't build with workers on and database off https://bugs.webkit.org/show_bug.cgi?id=35997 Added missing ENABLE(DATABASE) guards. * workers/WorkerThread.cpp: (WebCore::WorkerThreadShutdownStartTask::performTask): 2010-03-12 Dan Winship Reviewed by Gustavo Noronha. Make the defaultCookieJar use a no-third-party policy. Most applications set their own cookie jar, but DumpRenderTree doesn't, so it was failing the new third-party-cookie test. * platform/network/soup/CookieJarSoup.cpp: (WebCore::defaultCookieJar): 2010-03-11 Simon Hausmann Reviewed by Laszlo Gombos. [Qt] Enable network state notifier when compiling against Qt 4.7 https://bugs.webkit.org/show_bug.cgi?id=35983 * WebCore.pri: * platform/network/qt/NetworkStateNotifierPrivate.h: * platform/network/qt/NetworkStateNotifierQt.cpp: 2010-03-11 Benjamin Poulain Reviewed by Adam Treat. Do not render the full frame when there is some elements with fixed positioning https://bugs.webkit.org/show_bug.cgi?id=33150 The frame view take into acount the list of fixed object when scrolling the view. If the number of object is lower than a certain threshold, the pixel are blitted, and the invalidated area updated. * page/FrameView.cpp: (WebCore::FrameView::FrameView): (WebCore::FrameView::useSlowRepaints): (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): (WebCore::FrameView::addFixedObject): (WebCore::FrameView::removeFixedObject): (WebCore::FrameView::scrollContentsFastPath): * page/FrameView.h: * platform/ScrollView.cpp: (WebCore::ScrollView::scrollContents): (WebCore::ScrollView::scrollContentsFastPath): * platform/ScrollView.h: * rendering/RenderBlock.h: (WebCore::RenderBlock::positionedObjects): * rendering/RenderBox.cpp: (WebCore::RenderBox::styleWillChange): * rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange): 2010-03-11 Aaron Boodman Kill WebDocument::applicationID() (part 1). Modify interface to WebCore::NotificationPresenter::checkPermission() and remove implementation of WebDocument::applicationID(). Breaking API changes will be in a subsequent change. https://bugs.webkit.org/show_bug.cgi?id=35846 * notifications/Notification.cpp: (WebCore::Notification::Notification): * notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::checkPermission): * notifications/NotificationPresenter.h: 2010-03-11 Dmitry Titov Reviewed by David Levin. [v8] Remove obsolete code for delayed dereferencing of DOM objects for single-heap, multithread v8 usage. https://bugs.webkit.org/show_bug.cgi?id=36043 No new tests, no changes in functionality. * bindings/v8/DOMData.cpp: (WebCore::DOMData::DOMData): * bindings/v8/DOMData.h: (WebCore::DOMData::handleWeakObject): * bindings/v8/DOMDataStore.cpp: * bindings/v8/DOMDataStore.h: (WebCore::DOMDataStore::domObjectMap): (WebCore::DOMDataStore::activeDomObjectMap): (WebCore::DOMDataStore::domSvgElementInstanceMap): (WebCore::DOMDataStore::domSvgObjectWithContextMap): * bindings/v8/ScopedDOMDataStore.cpp: (WebCore::ScopedDOMDataStore::ScopedDOMDataStore): * bindings/v8/StaticDOMDataStore.cpp: (WebCore::StaticDOMDataStore::StaticDOMDataStore): * bindings/v8/StaticDOMDataStore.h: * bindings/v8/V8DOMMap.cpp: (WebCore::removeAllDOMObjectsInCurrentThread): 2010-03-11 Gavin Barraclough Rubber stamped by Oliver Hunt. Remove nonsense comments used in development & commited in error. * platform/text/StringImpl.h: 2010-03-11 Gavin Barraclough Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=36041 Remove unnecessary differences in common code between WebCore::StringImpl & JSC::UStringImpl Much of the code in WebCore::StringImpl and JSC::UStringImpl is now very similar, but has trivial and unnecessary formatting differences, such as the exact wording of comments, missing ASSERTs, functions implemented in the .h vs .cpp etc. * platform/text/StringImpl.cpp: (WebCore::StringImpl::empty): Reordered in file, made empty()->characters() return a non-null value to match JSC. (WebCore::StringImpl::createUninitialized): Added overflow check. (WebCore::StringImpl::create): Reordered in file. (WebCore::StringImpl::sharedBuffer): Reordered in file. * platform/text/StringImpl.h: (WebCore::StringImpl::): Remove ThreadGlobalData as friend, move SharableUChar & SharedUChar to WebCore namespace. (WebCore::StringImpl::StringImpl): Made static constructor method (used to create empty string) take arguments, to match JSC & prevent accidental use. (WebCore::StringImpl::setHash): Added missing ASSERT. (WebCore::StringImpl::adopt): Make adpot work with Vectors with a non-zero inline capacity. (WebCore::StringImpl::characters): Mark as const to match JSC. (WebCore::StringImpl::hash): Use !m_hash instead of m_hash == 0. (WebCore::StringImpl::computeHash): Remove redundant 'inline'. 2010-03-11 Mark Rowe Reviewed by David Kilzer. Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version. * Configurations/Base.xcconfig: 2010-03-11 Jungshik Shin [Chromium]: Plane 2 characters are rendered "blank" (not even empty boxes) on Windows even when there are fonts to cover them. https://bugs.webkit.org/show_bug.cgi?id=35605 Test:LayoutTests/fast/text/international/plane2.html * platform/graphics/chromium/FontCacheChromiumWin.cpp: (WebCore::LookupAltName): Add two ExtB fonts to the array (namePairs) that are used for Plane 2 character rendering. (WebCore::FontCache::getFontDataForCharacters): Add two more fonts to the fallback font list * platform/graphics/chromium/FontUtilsChromiumWin.cpp: (WebCore::getFallbackFamily): Fix the fallback font lookup to cover Plane 2 (CJK ExtB). 2010-03-11 Leandro Pereira Reviewed by Holger Freyther. Add EFL port files to platform/efl. http://webkit.org/b/35889 * platform/efl/SystemTimeEfl.cpp: Added. 2010-03-11 Mark Rowe Reviewed by Tim Hatcher. Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the current Mac OS X version unless otherwise specified. Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR. Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice may not be usable when targetting a different Mac OS X version. Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used. * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: * Configurations/FeatureDefines.xcconfig: * Configurations/Version.xcconfig: * Configurations/WebCore.xcconfig: 2010-03-11 Anders Carlsson Reviewed by David Hyatt. Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents. * loader/EmptyClients.h: * page/Chrome.cpp: * page/Chrome.h: * page/ChromeClient.h: * platform/HostWindow.h: 2010-03-11 Nate Chapin Reviewed by Dimitri Glazkov. [V8] Remove DOMObjectsInclude.h and update headers accordingly. https://bugs.webkit.org/show_bug.cgi?id=36036 * WebCore.gypi: * bindings/v8/DOMData.h: * bindings/v8/DOMDataStore.h: * bindings/v8/DOMObjectsInclude.h: Removed. * bindings/v8/V8DOMMap.cpp: * bindings/v8/V8DOMWindowShell.cpp: * bindings/v8/V8DOMWrapper.cpp: * bindings/v8/V8GCController.cpp: * bindings/v8/V8Proxy.cpp: 2010-03-11 Simon Fraser Reviewed by Mark Rowe. Remove duplicate entries revealed after sorting. * WebCore.xcodeproj/project.pbxproj: 2010-03-11 Simon Fraser Reviewed by Mark Rowe. Sort the project file (also removing some bogus spaces that caused Xcode to rewrite the file every time you opened it). * WebCore.xcodeproj/project.pbxproj: 2010-03-11 Nate Chapin Reviewed by Dimitri Glazkov. Fix style issues and improve comments from http://trac.webkit.org/changeset/55853. https://bugs.webkit.org/show_bug.cgi?id=36029 * platform/animation/TimingFunction.h: (WebCore::TimingFunction::TimingFunction): 2010-03-11 Chris Fleizach Reviewed by Beth Dakin. accessibilityIsIgnoredBase() needs to respect when platform says include https://bugs.webkit.org/show_bug.cgi?id=36025 Changed accessibilityIsIgnoredBase() to return a policy instead of a yes/no answer. This allows the platform to make a yes decision on an element. * accessibility/AccessibilityList.cpp: (WebCore::AccessibilityList::accessibilityIsIgnored): * accessibility/AccessibilityListBox.cpp: (WebCore::AccessibilityListBox::accessibilityIsIgnored): * accessibility/AccessibilityObject.h: (WebCore::): (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase): (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): * accessibility/AccessibilityRenderObject.h: * accessibility/AccessibilitySlider.cpp: (WebCore::AccessibilitySlider::accessibilityIsIgnored): * accessibility/AccessibilityTable.cpp: (WebCore::AccessibilityTable::accessibilityIsIgnored): * accessibility/AccessibilityTableCell.cpp: (WebCore::AccessibilityTableCell::accessibilityIsIgnored): * accessibility/AccessibilityTableRow.cpp: (WebCore::AccessibilityTableRow::accessibilityIsIgnored): * accessibility/chromium/AccessibilityObjectChromium.cpp: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): * accessibility/gtk/AccessibilityObjectAtk.cpp: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): * accessibility/mac/AccessibilityObjectMac.mm: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): * accessibility/qt/AccessibilityObjectQt.cpp: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): * accessibility/win/AccessibilityObjectWin.cpp: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): * accessibility/wx/AccessibilityObjectWx.cpp: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 2010-03-11 Kenneth Russell Reviewed by Dimitri Glazkov. Fix build breakage with ENABLE_3D_CANVAS=0 https://bugs.webkit.org/show_bug.cgi?id=35995 No new tests; verified in Chromium that WebGL is disabled in ENABLE_3D_CANVAS=0 builds. * bindings/v8/custom/V8DocumentCustom.cpp: * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 2010-03-11 Nate Chapin Unreviewed, Chromium mac build fix. Add an explicit copy constructor to TimingFunction. http://trac.webkit.org/changeset/55835 trigged an inlining bug in gcc that the copy constructor resolves. * platform/animation/TimingFunction.h: (WebCore::TimingFunction::TimingFunction): 2010-03-11 Chris Fleizach Fixing GTK. No review. support lang attribute on