2009-10-05 Mark Rowe Try and fix the GTK build. * GNUmakefile.am: 2009-10-05 Julie Parent Unreviewed, Chromium build fix #2. Add new BEFORELOADEVENT to V8ClassIndex. * bindings/v8/V8Index.h: 2009-10-05 Julie Parent Unreviewed, Chromium build fix. Missing "," after entry for BeforeLoadEvent.idl. * WebCore.gypi: 2009-10-05 Dave Hyatt Reviewed by Sam Weinig. Add a beforeload event that will be fired before subresources load. (It isn't fired yet.) The event has one field, the URL that is going to be requested. Setting preventDefault will stop the load from occurring. * DerivedSources.cpp: * DerivedSources.make: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * dom/BeforeLoadEvent.h: Added. (WebCore::BeforeLoadEvent::create): (WebCore::BeforeLoadEvent::initBeforeLoadEvent): (WebCore::BeforeLoadEvent::url): (WebCore::BeforeLoadEvent::BeforeLoadEvent): * dom/BeforeLoadEvent.idl: Added. * dom/EventNames.h: * page/DOMWindow.idl: 2009-10-05 Priit Laes Reviewed by Gustavo Noronha. Add Gentoo-specific paths for searching browser plugins. https://bugs.webkit.org/show_bug.cgi?id=30088 * plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::defaultPluginDirectories): 2009-10-02 Chris Marrin Reviewed by Adele Peterson. Add functionality to pause/throttle CSS transitions/animations in a WebView https://bugs.webkit.org/show_bug.cgi?id=29942 Exporting call from AnimationController * WebCore.base.exp: 2009-10-05 Kevin Decker Rubberstamped by Anders Carlsson. * WebCore.base.exp: Update export of HaltablePlugin/PluginHalterClient. * WebCore.xcodeproj/project.pbxproj: Likewise. 2009-10-05 Eric Seidel No review, rolling out r49104. http://trac.webkit.org/changeset/49104 * html/HTMLInputElement.cpp: * html/HTMLInputElement.h: * html/HTMLInputElement.idl: * html/ValidityState.cpp: * html/ValidityState.h: (WebCore::ValidityState::rangeUnderflow): (WebCore::ValidityState::rangeOverflow): * rendering/RenderSlider.cpp: (WebCore::SliderRange::SliderRange): (WebCore::SliderRange::valueFromElement): 2009-10-05 Kent Tamura Reviewed by Eric Seidel. Update style immediately when validation-related values are updated. https://bugs.webkit.org/show_bug.cgi?id=28868 In order to apply :valid, :invalid, :optional or :required lively, - call setNeedsStyleRecalc() when properties which can change willValidate state are updated, and (Parent form element, name, disabled, readonly) - call updateValidity() when properties which can change validity state are updated. (value, pattern, required) Tests: fast/forms/input-live-pseudo-selectors.html fast/forms/textarea-live-pseudo-selectors.html * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::HTMLFormControlElement): (WebCore::HTMLFormControlElement::parseMappedAttribute): (WebCore::HTMLFormControlElement::required): (WebCore::HTMLFormControlElement::updateValidity): * html/HTMLFormControlElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setInputType): (WebCore::HTMLInputElement::parseMappedAttribute): (WebCore::HTMLInputElement::setValue): (WebCore::HTMLInputElement::setValueFromRenderer): (WebCore::HTMLInputElement::setFileListFromRenderer): * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setValue): * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::subtreeHasChanged): 2009-10-05 Kent Tamura Reviewed by Darin Adler. Implement min/max attributes, ValidityState.rangeUnderflow and ValidityState.rangeOverflow for and https://bugs.webkit.org/show_bug.cgi?id=29069 Tests: fast/forms/ValidityState-rangeOverflow-number.html fast/forms/ValidityState-rangeOverflow-range.html fast/forms/ValidityState-rangeUnderflow-number.html fast/forms/ValidityState-rangeUnderflow-range.html fast/forms/input-minmax.html * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::rangeUnderflow): (WebCore::HTMLInputElement::rangeOverflow): (WebCore::HTMLInputElement::rangeMinimum): (WebCore::HTMLInputElement::rangeMaximum): * html/HTMLInputElement.h: * html/HTMLInputElement.idl: * html/ValidityState.cpp: (WebCore::ValidityState::rangeUnderflow): (WebCore::ValidityState::rangeOverflow): * html/ValidityState.h: * rendering/RenderSlider.cpp: (WebCore::SliderRange::SliderRange): (WebCore::SliderRange::valueFromElement): 2009-10-05 Kent Tamura Reviewed by Eric Seidel. Introduces - new CSS pseudo selector: "-webkit-input-list-button" - new CSS apperance type: "list-button" - new ControlPart value: "ListButtonPart" for the UI of the list attribute of the input element, and adds implementation to draw ListButtonPart on Mac. The code is guarded by ENABLE(DATALIST). https://bugs.webkit.org/show_bug.cgi?id=27794 Test: platform/mac/fast/forms/input-list-button-size.html * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): * css/CSSSelector.h: (WebCore::CSSSelector::): * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): * css/CSSValueKeywords.in: * css/html.css: * html/HTMLInputElement.cpp: * platform/ThemeTypes.h: (WebCore::): * platform/mac/ThemeMac.mm: (WebCore::listButtonSizes): (WebCore::button): (WebCore::paintButton): (WebCore::ThemeMac::controlSize): (WebCore::ThemeMac::minimumControlSize): (WebCore::ThemeMac::controlBorder): (WebCore::ThemeMac::paint): * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): (WebCore::RenderTheme::paint): (WebCore::RenderTheme::paintBorderOnly): (WebCore::RenderTheme::paintDecorations): * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustRepaintRect): * rendering/style/RenderStyleConstants.h: (WebCore::): 2009-10-05 Brian Weinstein Reviewed by Timothy Hatcher. Fixes nodeTitleInfo should be placed in ElementsTreeOutline. Move nodeTitleInfo into ElementsTreeOutline.js from utilities.js. * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement): (WebInspector.ElementsTreeElement.prototype._updateTitle): (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): * inspector/front-end/utilities.js: 2009-10-02 Yael Aharon Reviewed by Simon Hausmann. [Qt] Inform the application when a new request is created https://bugs.webkit.org/show_bug.cgi?id=29975 Emit a signal each time a request is created, with the request and the frame that created it. * platform/network/qt/QNetworkReplyHandler.cpp: (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): (WebCore::QNetworkReplyHandler::start): 2009-10-05 Ben Murdoch Reviewed by Darin Adler. Add an ASSERT in updateGuidVersionMap. https://bugs.webkit.org/show_bug.cgi?id=30077 * storage/Database.cpp: (WebCore::updateGuidVersionMap): ASSERT that the guidMutex() is locked. 2009-10-05 Nate Chapin Reviewed by Eric Seidel. Allow V8 to throw an exception in _NPN_SetException without worrying about context if we don't have enough information to find the correct context. https://bugs.webkit.org/show_bug.cgi?id=30026 Part of the fix for Chromium's failure of LayouTests/plugins/netscape-throw-exception.html. * bindings/v8/NPV8Object.cpp: (_NPN_SetException): Don't suppress the exception if we can't find the relevant context. 2009-10-05 Mikhail Naganov Reviewed by Timothy Hatcher. Place "Close" button in docked mode on the same side as the window "Close" button in detached mode. https://bugs.webkit.org/show_bug.cgi?id=29961 * inspector/front-end/inspector.css: * inspector/front-end/inspector.html: * inspector/front-end/inspector.js: (WebInspector.loaded): 2009-10-05 J-P Nurmi Reviewed by Simon Hausmann. [Qt] Added pure virtual QWebPageClient::pluginParent() https://bugs.webkit.org/show_bug.cgi?id=29710 * platform/qt/QWebPageClient.h: 2009-10-05 Jakub Wieczorek Reviewed by Tor Arne Vestbø. [Qt] windowsKeyCodeForKeyEvent() returns a wrong value for the F10 key. https://bugs.webkit.org/show_bug.cgi?id=30042 * platform/qt/PlatformKeyboardEventQt.cpp: (WebCore::windowsKeyCodeForKeyEvent): 2009-10-05 Fumitoshi Ukai Unreviewed build fix for ENABLE(WEB_SOCKETS) and v8. V8ObjectEventListener.h has been removed at r48978 * bindings/v8/custom/V8WebSocketCustom.cpp: 2009-10-04 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector console stops working while JS in IFRAME is paused. https://bugs.webkit.org/show_bug.cgi?id=29958 * inspector/front-end/InjectedScript.js: (InjectedScript._evaluateOn): (InjectedScript.addInspectedNode): (InjectedScript._ensureCommandLineAPIInstalled): 2009-10-04 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Introduce inspected object groups for console and watch evaluation results so that they could be released explicitly. https://bugs.webkit.org/show_bug.cgi?id=29891 * bindings/js/JSInspectorBackendCustom.cpp: (WebCore::JSInspectorBackend::wrapObject): * bindings/v8/custom/V8InspectorBackendCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::wrapObject): (WebCore::InspectorBackend::releaseWrapperObjectGroup): * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::clearConsoleMessages): (WebCore::InspectorController::resetScriptObjects): (WebCore::InspectorController::wrapObject): (WebCore::InspectorController::unwrapObject): (WebCore::InspectorController::releaseWrapperObjectGroup): * inspector/InspectorController.h: * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addMessageToConsole): * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.evalInInspectedWindow): (WebInspector.ConsoleView.prototype.doEvalInWindow): (WebInspector.ConsoleView.prototype._enterKeyPressed): * inspector/front-end/InjectedScript.js: (InjectedScript.evaluate): (InjectedScript._evaluateAndWrap): (InjectedScript.evaluateInCallFrame): * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame): * inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSidebarPane): (WebInspector.WatchExpressionsSection.prototype.update): 2009-10-02 Tor Arne Vestbø Reviewed by Eric Carlson. Move mediaControls extras for the Qt port into WebCore/css like other ports https://bugs.webkit.org/show_bug.cgi?id=30013 * WebCore.pro: * WebCore.qrc: * css/mediaControlsQt.css: Renamed from WebCore/css/qt/mediaControls-extras.css. * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::extraMediaControlsStyleSheet): 2009-10-02 Tor Arne Vestbø Reviewed by Eric Carlson. Rename WebCore/css/mediaControlsQT.css and MediaControllerThemeQT https://bugs.webkit.org/show_bug.cgi?id=30013 The QT suffix has been expanded to QuickTime, to not cause confusion and name-crashes with similar files in the Qt port. * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * css/mediaControlsQuickTime.css: Renamed from WebCore/css/mediaControlsQT.css. * rendering/RenderThemeMac.mm: (WebCore::): (WebCore::mediaControllerTheme): (WebCore::RenderThemeMac::adjustSliderThumbSize): (WebCore::getUnzoomedRectAndAdjustCurrentContext): (WebCore::RenderThemeMac::extraMediaControlsStyleSheet): 2009-10-04 Brian Weinstein Reviewed by Timothy Hatcher. Fixes Syntax Highlighting CSS shouldn't be duplicated. Refactor syntax highlighting CSS into a new file, add it to the projects, and have SourceFrame.js and inspector.html include the new CSS file. * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype._loaded): * inspector/front-end/inspector.css: * inspector/front-end/inspector.html: * inspector/front-end/inspectorSyntaxHighlight.css: Added. * inspector/front-end/WebKit.qrc: 2009-10-04 Brian Weinstein Reviewed by Timothy Hatcher. Fixes Inspector should syntax highlight JS/CSS in elements view. Add syntax highlighting of CSS and JavaScript tags to the elements panel. Copied CSS rules from SourceFrame.js to inspector.css, and have the text nodes in utilities.js call the CSS or JS Syntax highlighters if their parent is a script or style tag. * inspector/front-end/inspector.css: * inspector/front-end/utilities.js: 2009-10-04 Fumitoshi Ukai Reviewed by Eric Seidel Enable Web Sockets in chromium build. https://bugs.webkit.org/show_bug.cgi?id=29917 * WebCore.gyp/WebCore.gyp: 2009-10-04 Xan Lopez Reviewed by Gustova Noronha. [GTK] performs a POST when refreshing a view that was obtained with a GET https://bugs.webkit.org/show_bug.cgi?id=29761 Update the HTTP method in the request stored by willSendRequest after a redirect, since it could have changed. Test: http/tests/navigation/postredirect-reload.html * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::restartedCallback): 2009-10-04 Xan Lopez Revert previous patch, as the newly added test breaks other tests. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::restartedCallback): 2009-10-04 Xan Lopez Reviewed by Gustova Noronha. [GTK] performs a POST when refreshing a view that was obtained with a GET https://bugs.webkit.org/show_bug.cgi?id=29761 Update the HTTP method in the request stored by willSendRequest after a redirect, since it could have changed. Test: http/tests/navigation/postredirect-reload.html * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::restartedCallback): 2009-10-04 Vitaly Repeshko Reviewed by Adam Barth. [V8] Fixed Function leak in V8LazyEventListener. (Should fix the remaning leak in https://bugs.webkit.org/show_bug.cgi?id=29093). V8LazyEventListeners used to create FunctionTemplates for each wrapped listener which in turn created Functions that were cached forever in V8 Context. Now there is at most one such Function per Context. https://bugs.webkit.org/show_bug.cgi?id=30060 Added new hidden property name to store toString result: * bindings/v8/V8HiddenPropertyName.cpp: * bindings/v8/V8HiddenPropertyName.h: Switched to static FunctionTemplate: * bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListenerToString): (WebCore::V8LazyEventListener::prepareListenerObject): 2009-10-03 Joseph Pecoraro Reviewed by Timothy Hatcher. CSS Source View Should be Syntax Highlighted https://bugs.webkit.org/show_bug.cgi?id=14359 Support for WebKit's CSS Variables @variables and var() * inspector/front-end/SourceFrame.js: (WebInspector.CSSSourceSyntaxHighligher): 2009-10-03 Joseph Pecoraro Reviewed by Timothy Hatcher. Inspector should remember preferences for docked/undocked etc https://bugs.webkit.org/show_bug.cgi?id=29089 * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype._toggleLargerResources): toggle the preference * inspector/front-end/inspector.js: (WebInspector._loadPreferences): factored out loading preferences (WebInspector.loaded): 2009-10-03 Joseph Pecoraro Reviewed by Timothy Hatcher. CSS Source View Should be Syntax Highlighted https://bugs.webkit.org/show_bug.cgi?id=14359 Trigger the Syntax Highlighter for CSS files. * inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): (WebInspector.SourceFrame.prototype.syntaxHighlightCSS): * inspector/front-end/SourceView.js: (WebInspector.SourceView.prototype._contentLoaded): Factored out the Syntax Highlighting procedure into a "Class" Added CSSSourceSyntaxHighlighter and JavaScriptSourceSyntaxHighlighter (WebInspector.SourceSyntaxHighligher): (WebInspector.SourceSyntaxHighligher.prototype.createSpan): (WebInspector.SourceSyntaxHighligher.prototype.process.processChunk): (WebInspector.SourceSyntaxHighligher.prototype.process): (WebInspector.CSSSourceSyntaxHighligher): the CSS Highlighter (WebInspector.JavaScriptSourceSyntaxHighligher): the JS Highlighter 2009-10-03 Adam Barth Reviewed by Sam Weinig. Factor back-forward list methods out of FrameLoader https://bugs.webkit.org/show_bug.cgi?id=30037 This change moves these back-forward related methods from FrameLoader to Page. It's possible we should move these methods into some kind of "page controller" object, but we can figure that out in a future patch. * loader/FrameLoader.cpp: * loader/FrameLoader.h: * loader/RedirectScheduler.cpp: (WebCore::RedirectScheduler::timerFired): * page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected): * page/DOMWindow.cpp: (WebCore::DOMWindow::close): * page/History.cpp: (WebCore::History::length): * page/Page.cpp: (WebCore::Page::canGoBackOrForward): (WebCore::Page::goBackOrForward): (WebCore::Page::getHistoryLength): * page/Page.h: * platform/ContextMenu.cpp: (WebCore::ContextMenu::populate): (WebCore::ContextMenu::checkOrEnableIfNeeded): 2009-10-02 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: prepare InspectorController for being used from layout tests. This change adds evaluateForTestInFrontend method with the callback that allows evaluating arbitrary code in the frontend context. https://bugs.webkit.org/show_bug.cgi?id=30008 * WebCore.Inspector.exp: * WebCore.order: * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::didEvaluateForTestInFrontend): * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::populateScriptObjects): (WebCore::InspectorController::evaluateForTestInFrontend): (WebCore::InspectorController::didEvaluateForTestInFrontend): * inspector/InspectorController.h: * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::evaluateForTestInFrontend): * inspector/InspectorFrontend.h: * inspector/front-end/inspector.js: (WebInspector.evaluateForTestInFrontend): 2009-10-02 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Node search mode is not getting reset on element selection. https://bugs.webkit.org/show_bug.cgi?id=30016 * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 2009-10-02 Brian Weinstein Reviewed by Timothy Hatcher. Fixes Should be able to resize Cookie Columns. * inspector/front-end/CookieItemsView.js: (WebInspector.CookieItemsView.prototype.update.callback): (WebInspector.CookieItemsView.prototype.update): (WebInspector.CookieItemsView.prototype.resize): 2009-09-25 Jon Honeycutt Make WebCore::PluginView participate in plug-in halting. Reviewed by Sam Weinig. * platform/graphics/BitmapImage.h: Declare a create() function that takes an HBITMAP. * platform/graphics/win/ImageCGWin.cpp: (WebCore::BitmapImage::create): Use GetObject() to fill out a DIBSECTION structure for the given HBITMAP. Call CGBitmapContextCreate() to create a CG context from the bits of the bitmap. Create a CG image from the context, and pass this when creating a new BitmapImage. * plugins/PluginView.cpp: (WebCore::PluginView::start): If we successfully started, tell our parent frame's Page. (WebCore::PluginView::stop): Tell our parent frame's Page that we stopped. (WebCore::PluginView::node): * plugins/PluginView.h: Inherit from HaltablePlugin. (WebCore::PluginView::setPlatformPluginWidget): On platforms where the platform plug-in widget is the WebCore::Widget's platform widget, have setPlatformPluginWidget() call setPlatformWidget(). * plugins/PluginViewNone.cpp: (WebCore::PluginView::halt): Stubbed. (WebCore::PluginView::restart): Stubbed. * plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::halt): Stubbed. (WebCore::PluginView::restart): Stubbed. * plugins/mac/PluginViewMac.cpp: (WebCore::PluginView::halt): Stubbed. (WebCore::PluginView::restart): Stubbed. * plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::halt): Stubbed. (WebCore::PluginView::restart): Stubbed. * plugins/win/PluginViewWin.cpp: (WebCore::PluginView::platformDestroy): After destroying the window, set the platform plug-in widget to 0 to ensure that Widget isn't holding a stale handle. (WebCore::PluginView::halt): Have our element's RenderWidget display a screenshot of the plug-in, then stop the plug-in and destroy it. (WebCore::PluginView::restart): Clear the RenderWidget's substitute image, then start the plug-in. * rendering/RenderWidget.cpp: (WebCore::RenderWidget::showSubstituteImage): Set m_substituteImage to the passed image, and repaint. (WebCore::RenderWidget::paint): If we have a substitute image, paint that instead of allowing the widget to paint itself. * rendering/RenderWidget.h: Declare showSubstituteImage(). Added a member to store the substitute image. 2009-10-02 Adam Barth Reviewed by Darin Adler. Move PolicyCheck out of FrameLoader.{h,cpp} https://bugs.webkit.org/show_bug.cgi?id=30035 Purely code motion (and adding a destructor). * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * loader/FrameLoader.cpp: * loader/FrameLoader.h: * loader/PolicyCheck.cpp: * loader/PolicyCheck.h: 2009-10-02 Jocelyn Turcotte Reviewed by Tor Arne Vestbø. [Qt] Add NPNVToolkit value quirk in plugins for nspluginwrapper. Plugin error message was: ERROR: failed to initialize brower-side RPC events listener https://bugs.webkit.org/show_bug.cgi?id=25053 (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue): (WebCore::PluginPackage::load): 2009-10-02 Jocelyn Turcotte Reviewed by Tor Arne Vestbø. [Qt] X sync our XEmbed container window creation before sending the xid to plugins. https://bugs.webkit.org/show_bug.cgi?id=25053 * plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::setNPWindowIfNeeded): 2009-10-02 Simon Fraser Reviewed by Dan Bernstein. Setting zero size on a container of a video element doesn't hide the controller https://bugs.webkit.org/show_bug.cgi?id=30031 Fix a logic error in enclosingCompositingLayer() when mixing normal flow and positioned layers. This resulted in enclosingCompositingLayer() giving back a different answer to the logic used to actually parent compositing layers, so layer positions and layer hierarchy would be out of agreement. Test: compositing/geometry/clipped-video-controller.html * rendering/RenderLayer.cpp: (WebCore::compositingContainer): (WebCore::RenderLayer::enclosingCompositingLayer): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::setCompositingParent): 2009-10-02 Kent Tamura Reviewed by Eric Seidel. - Move the following methods of HTMLInputElement and HTMLTextAreaElement to HTMLTextFormControlElement. setSelectionStart() setSelectionEnd() select() setSelectionRange() selectionStart() selectionEnd() selection() - Introduce cachedSelectionStart() and cachedSelectionEnd(). - Unify HTMLInputElement::isTextFieldWithRenderer() and HTMLTextAreaElement::rendererAfterUpdateLayout() into textRendererAfterUpdateLayout(). - Unify a part of parseMappedAttribute() of HTMLInputElement and HTMLTextAreaElement. https://bugs.webkit.org/show_bug.cgi?id=29782 * html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::textRendererAfterUpdateLayout): (WebCore::HTMLTextFormControlElement::setSelectionStart): (WebCore::HTMLTextFormControlElement::setSelectionEnd): (WebCore::HTMLTextFormControlElement::select): (WebCore::HTMLTextFormControlElement::setSelectionRange): (WebCore::HTMLTextFormControlElement::selectionStart): (WebCore::HTMLTextFormControlElement::selectionEnd): (WebCore::HTMLTextFormControlElement::selection): (WebCore::HTMLTextFormControlElement::parseMappedAttribute): * html/HTMLFormControlElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): * html/HTMLInputElement.h: (WebCore::HTMLInputElement::select): (WebCore::HTMLInputElement::cachedSelectionStart): (WebCore::HTMLInputElement::cachedSelectionEnd): * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::parseMappedAttribute): * html/HTMLTextAreaElement.h: (WebCore::HTMLTextAreaElement::cachedSelectionStart): (WebCore::HTMLTextAreaElement::cachedSelectionEnd): 2009-10-02 Vitaly Repeshko Reviewed by Dimitri Glazkov. [V8] Disconnect event listeners on navigation. Fixes http://crbug.com/23597. https://bugs.webkit.org/show_bug.cgi?id=30027 Added V8ListenerGuard that is shared by listeners and proxy. On navigation proxy sets a flag in the guard turning off listeners. * bindings/v8/V8AbstractEventListener.cpp: (WebCore::V8AbstractEventListener::V8AbstractEventListener): * bindings/v8/V8AbstractEventListener.h: (WebCore::V8ListenerGuard::create): (WebCore::V8ListenerGuard::isDisconnected): (WebCore::V8ListenerGuard::disconnectListeners): (WebCore::V8ListenerGuard::V8ListenerGuard): (WebCore::V8AbstractEventListener::disconnected): * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::getEventListener): * bindings/v8/V8EventListenerList.h: (WebCore::V8EventListenerList::findOrCreateWrapper): * bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListener::V8LazyEventListener): * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::V8Proxy): (WebCore::V8Proxy::disconnectFrame): (WebCore::V8Proxy::disconnectEventListeners): (WebCore::V8Proxy::clearForNavigation): * bindings/v8/V8Proxy.h: (WebCore::V8Proxy::listenerGuard): * bindings/v8/V8WorkerContextEventListener.cpp: (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): * bindings/v8/V8WorkerContextEventListener.h: (WebCore::V8WorkerContextEventListener::create): * bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy): (WebCore::WorkerContextExecutionProxy::dispose): (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener): * bindings/v8/WorkerContextExecutionProxy.h: * bindings/v8/custom/V8CustomEventListener.cpp: (WebCore::V8EventListener::V8EventListener): * bindings/v8/custom/V8CustomEventListener.h: (WebCore::V8EventListener::create): 2009-10-02 Kenneth Russell Reviewed by Dimitri Glazkov. [chromium] Fix WebGL build after CustomGetter constructor changes https://bugs.webkit.org/show_bug.cgi?id=30020 * page/DOMWindow.idl: Changed CustomGetter to JSCCustomGetter for CanvasArray constructors. 2009-10-02 Patrick Mueller Reviewed by Timothy Hatcher. Web Inspector: text in a "Request Payload" section disappears on selection https://bugs.webkit.org/show_bug.cgi?id=29967 No new tests. * inspector/front-end/ResourceView.js: (WebInspector.ResourceView.prototype._refreshRequestPayload): 2009-10-02 Vitaly Repeshko Reviewed by Dimitri Glazkov. [V8] Recursion guard for V8Proxy::callFunction. Fixes http://crbug.com/23278. https://bugs.webkit.org/show_bug.cgi?id=29974 Test: fast/xmlhttprequest/xmlhttprequest-recursive-sync-event.html * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::callFunction): 2009-10-02 Brian Weinstein Reviewed by Jon Honeycutt. Fix test breakages by adding null checks, and putting inspector code in ENABLE(INSPECTOR). * dom/Document.cpp: (WebCore::Document::finishedParsing): * page/DOMWindow.cpp: (WebCore::DOMWindow::dispatchLoadEvent): 2009-10-02 Kenneth Rohde Christiansen Reviewed by Simon Hausmann. Clean up the QNetworkReplyHandler to only apply HTTP headers for protocols in the HTTP family. * platform/network/qt/QNetworkReplyHandler.cpp: (WebCore::QNetworkReplyHandler::finish): (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 2009-10-02 Kenneth Rohde Christiansen Reviewed by Simon Hausmann. Move error check into sendResponseIfNeeded() as suggested by Eric Seidel. Also, remove some dead code. * platform/network/qt/QNetworkReplyHandler.cpp: (WebCore::QNetworkReplyHandler::finish): (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 2009-10-02 Enrica Casucci Reviewed by Adele Peterson. Assertion failure in CompositeEditCommand::moveParagraphs() and crash in Node::nodeIndex() when pasting. https://bugs.webkit.org/show_bug.cgi?id=28992 Test: editing/selection/replace-selection-crash.html * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Handle properly the case of the destination position matching the end of the paragraph to move. 2009-10-02 Jeremy Orlow Reviewed by Dimitri Glazkov. Implement per-storage-area quotas for LocalStorage https://bugs.webkit.org/show_bug.cgi?id=29991 I put 90% of the code in StorageMap since the decision to allow an update is closely tied to quota tracking. The quota is set via a page's Settings class. Like with the local storage path and whether it's enabled, it's assumed that all pages in the same group will have the same settings. The setting defaults to 5mb which is what the spec suggests, but it can easily be changed to anything else--including StorageMap::noQuota. Any values in LocalStorage are grandfathered in regarudless of quota, so importItem only tracks (and will never block) imports. I believe this change is a good transition to more complex quota management. For example, if we wanted to track quotas in the SQLite DB, then we'd just add a function to the StorageMap that sets the quota. This would be fine since all use of LocalStorage is blocked on the import completing, so you'd never hit a quota error in the mean time. Also, if embedders wanted to ask the user whether to expand the quota whenever it's hit (before deciding whether or not to raise an exception), a callback via the chrome client should be fairly easy. That said, I think it's best to add these features in steps rather than one huge patch. (Both of these are on my TODO list, btw.) Included is a layout test that verifies the behavior. It assumes the default quota is 5mb (since that's what Settings defaults to). Test: storage/domstorage/localstorage/quota.html * page/PageGroup.cpp: (WebCore::PageGroup::localStorage): * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setLocalStorageQuota): * page/Settings.h: (WebCore::Settings::localStorageQuota): * storage/StorageAreaImpl.cpp: (WebCore::StorageAreaImpl::create): (WebCore::StorageAreaImpl::StorageAreaImpl): (WebCore::StorageAreaImpl::setItem): (WebCore::StorageAreaImpl::clear): * storage/StorageAreaImpl.h: * storage/StorageMap.cpp: (WebCore::StorageMap::create): (WebCore::StorageMap::StorageMap): (WebCore::StorageMap::copy): (WebCore::StorageMap::setItem): (WebCore::StorageMap::removeItem): (WebCore::StorageMap::importItem): * storage/StorageMap.h: (WebCore::StorageMap::quota): * storage/StorageNamespace.cpp: (WebCore::StorageNamespace::localStorageNamespace): * storage/StorageNamespace.h: * storage/StorageNamespaceImpl.cpp: (WebCore::StorageNamespaceImpl::localStorageNamespace): (WebCore::StorageNamespaceImpl::sessionStorageNamespace): (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): (WebCore::StorageNamespaceImpl::copy): (WebCore::StorageNamespaceImpl::storageArea): * storage/StorageNamespaceImpl.h: 2009-10-02 Joseph Pecoraro Reviewed by Timothy Hatcher. Database Inspector crashes Safari when table has more than 21 columns https://bugs.webkit.org/show_bug.cgi?id=29924 * inspector/front-end/StoragePanel.js: (WebInspector.StoragePanel.prototype.dataGridForResult): adjust the minimum column width percentage to be flexible for many columns. 2009-10-02 Brian Weinstein Reviewed by Timothy Hatcher. Fixes . Inspector's timeline should record when certain DOM events fired. This patch adds calls into the Web Inspector when the main frame fires an load event, and when the document fires its DOMContent event. Once these values are passed in, they are sent to the Web Inspector as a timing change, and these are denoted by vertical lines in the resources panel (blue for DOM Content, red for load event). * English.lproj/localizedStrings.js: Added tooltip text. * dom/Document.cpp: (WebCore::Document::finishedParsing): Added an Inspector callback for DOM Content. * inspector/InspectorController.cpp: (WebCore::InspectorController::mainResourceFiredDOMContentEvent): Tell the main resource it got the event. (WebCore::InspectorController::mainResourceFiredLoadEvent): Ditto. * inspector/InspectorController.h: * inspector/InspectorResource.cpp: (WebCore::InspectorResource::InspectorResource): Added new variables. (WebCore::InspectorResource::updateScriptObject): Send new variables to inspector.js. (WebCore::InspectorResource::markDOMContentEventTime): Send a TimingChange event. (WebCore::InspectorResource::markLoadEventTime): Ditto. * inspector/InspectorResource.h: * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.get mainResourceLoadTime): (WebInspector.ResourcesPanel.prototype.set mainResourceLoadTime): (WebInspector.ResourcesPanel.prototype.get mainResourceDOMContentTime): (WebInspector.ResourcesPanel.prototype.set mainResourceDOMContentTime): (WebInspector.ResourcesPanel.prototype.reset): (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Draw dividers for event timings. (WebInspector.ResourceTimeCalculator.prototype.computePercentageFromEventTime): * inspector/front-end/inspector.css: * inspector/front-end/inspector.js: (WebInspector.updateResource): * page/DOMWindow.cpp: (WebCore::DOMWindow::dispatchLoadEvent): Add an Inspector callback for the Load event. 2009-10-02 Dave Hyatt Reviewed by Adam Roben. Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns. * WebCore.base.exp: * dom/Document.cpp: (WebCore::Document::pageGroupUserSheets): * page/Frame.cpp: (WebCore::Frame::injectUserScriptsForWorld): * page/PageGroup.cpp: (WebCore::PageGroup::addUserScript): (WebCore::PageGroup::addUserStyleSheet): (WebCore::PageGroup::removeUserContentWithURLForWorld): (WebCore::PageGroup::removeUserContentForWorld): * page/PageGroup.h: * page/UserContentURLPattern.cpp: (WebCore::UserContentURLPattern::matchesPatterns): * page/UserContentURLPattern.h: * page/UserScript.h: (WebCore::UserScript::UserScript): (WebCore::UserScript::whitelist): (WebCore::UserScript::blacklist): * page/UserStyleSheet.h: (WebCore::UserStyleSheet::UserStyleSheet): (WebCore::UserStyleSheet::whitelist): (WebCore::UserStyleSheet::blacklist): 2009-10-02 Laszlo Gombos Reviewed by Darin Adler. Build fix when SVG is not enabled https://bugs.webkit.org/show_bug.cgi?id=30011 Move TextRenderingMode related functions out from the ENABLE(SVG) guard. * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator TextRenderingMode): 2009-10-02 Kenneth Russell Reviewed by Oliver Hunt. WebGL crashes with recent CanvasArray change https://bugs.webkit.org/show_bug.cgi?id=30018 Test: fast/canvas/webgl/array-unit-tests.html * html/canvas/CanvasArray.cpp: (WebCore::CanvasArray::CanvasArray): Fix bug where PassRefPtr was tested after transferring value to RefPtr. 2009-10-02 Steve Falkenburg Reviewed by Mark Rowe. Safari version number shouldn't be exposed in WebKit code For a WebKit version of 532.3.4: Product version is: 5.32.3.4 (was 4.0.3.0) File version is: 5.32.3.4 (was 4.532.3.4) * WebCore.vcproj/QTMovieWin.rc: 2009-10-02 Stephen White Reviewed by Dimitri Glazkov. Enable two point radial gradients in Chromium/Skia. https://bugs.webkit.org/show_bug.cgi?id=30017 Covered by the following tests: LayoutTests/svg/W3C-SVG-1.1/pservers-grad-13-b.svg LayoutTests/fast/backgrounds/svg-as-background-3.html LayoutTests/fast/gradients/generated-gradients.html LayoutTests/fast/gradients/simple-gradients.html * platform/graphics/skia/GradientSkia.cpp: (WebCore::Gradient::platformGradient): 2009-10-02 Norbert Leser Reviewed by Simon Hausmann. Conditionally guard cursor code (cursor and updateCursor functions) with !QT_NO_CURSOR. Otherwise, it is inconsistent with class declaration of QCursor. No new tests. * platform/qt/QWebPageClient.h: 2009-10-02 Philippe Normand Reviewed by Gustavo Noronha. [GTK] missing support for anamorphic PAR video size https://bugs.webkit.org/show_bug.cgi?id=29717 cleanup of caps handling in the video sink * platform/graphics/gtk/VideoSinkGStreamer.cpp: (webkit_video_sink_set_caps): 2009-10-02 Prasanth Ullattil Reviewed by Simon Hausmann. Fix compiler warnings about unused function arguments. * bridge/qt/qt_class.h: * bridge/qt/qt_runtime.cpp: (JSC::Bindings::QtRuntimeMetaMethod::call): (JSC::Bindings::QtRuntimeConnectionMethod::call): * dom/XMLTokenizerQt.cpp: (WebCore::XMLTokenizer::initializeParserContext): * platform/graphics/qt/FontCacheQt.cpp: (WebCore::FontCache::getTraitsInFamily): (WebCore::FontCache::getCachedFontPlatformData): * platform/graphics/qt/FontFallbackListQt.cpp: (WebCore::FontFallbackList::setPlatformFont): * platform/graphics/qt/FontQt.cpp: (WebCore::Font::offsetForPositionForComplexText): * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::drawLineForText): (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): (WebCore::GraphicsContext::setPlatformShadow): (WebCore::GraphicsContext::setURLForRect): * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::createIconForFiles): * platform/graphics/qt/ImageBufferQt.cpp: (WebCore::ImageBuffer::ImageBuffer): * platform/graphics/qt/ImageDecoderQt.cpp: (WebCore::ImageDecoderQt::frameBufferAtIndex): * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: (WebCore::MediaPlayerPrivate::supportsType): (WebCore::MediaPlayerPrivate::setEndTime): * platform/graphics/qt/SimpleFontDataQt.cpp: (WebCore::SimpleFontData::containsCharacters): * platform/graphics/qt/StillImageQt.h: (WebCore::StillImage::destroyDecodedData): * platform/network/qt/DnsPrefetchHelper.h: (WebCore::DnsPrefetchHelper::lookedUp): * platform/qt/ContextMenuQt.cpp: (WebCore::ContextMenu::setPlatformDescription): * platform/qt/DragDataQt.cpp: (WebCore::DragData::asURL): * platform/qt/PopupMenuQt.cpp: (WebCore::PopupMenu::populate): * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::supportsFocusRing): (WebCore::RenderThemeQt::systemFont): (WebCore::RenderThemeQt::adjustButtonStyle): (WebCore::RenderThemeQt::adjustMenuListButtonStyle): (WebCore::RenderThemeQt::paintMediaSeekBackButton): (WebCore::RenderThemeQt::paintMediaSeekForwardButton): * platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::platformAddChild): * platform/qt/SearchPopupMenuQt.cpp: (WebCore::SearchPopupMenu::saveRecentSearches): (WebCore::SearchPopupMenu::loadRecentSearches): * platform/qt/TemporaryLinkStubs.cpp: (WebCore::signedPublicKeyAndChallengeString): * platform/qt/WidgetQt.cpp: (WebCore::Widget::paint): * xml/XSLStyleSheetQt.cpp: (WebCore::XSLStyleSheet::loadChildSheet): (WebCore::XSLStyleSheet::setParentStyleSheet): * xml/XSLTProcessorQt.cpp: (WebCore::XSLTMessageHandler::handleMessage): (WebCore::XSLTProcessor::transformToString): 2009-10-02 Ben Murdoch Reviewed by David Kilzer. Stale database version persists through browser refresh (changeVersion doesn't work) https://bugs.webkit.org/show_bug.cgi?id=27836 Scale the cairo surface of the video sink depending on the pixel-aspect-ratio of the video buffer to paint. Also destruct/re-create the surface when setSize() is called with a new size. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::naturalSize): (WebCore::MediaPlayerPrivate::setSize): (WebCore::MediaPlayerPrivate::paint): * platform/graphics/gtk/VideoSinkGStreamer.cpp: (webkit_video_sink_idle_func): 2009-10-02 Philippe Normand Reviewed by Gustavo Noronha. [GTK] missing support for anamorphic PAR video size https://bugs.webkit.org/show_bug.cgi?id=29717 Tests: storage/change-version-handle-reuse.html storage/change-version.html * bindings/v8/custom/V8DatabaseCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): Implement the V8 binding for database.changeVersion(). (WebCore::createTransaction): Fix a bug that was checking the wrong argument index to save the success callback. * storage/Database.cpp: (WebCore::updateGuidVersionMap): Safely update the Guid/version hash map. (WebCore::Database::~Database): Remove code that removes the database from the guid->database and guid->version maps. (WebCore::Database::setVersionInDatabase): Add a comment to explain some behaviour. (WebCore::Database::close): Move the code that updates the maps from the destructor to here. (WebCore::Database::performOpenAndVerify): Call updateGuidVersionMap instead of setting the hash map directly. (WebCore::Database::setExpectedVersion): Update the in memory guid->version map when we want to update the database version. 2009-10-02 Janne Koskinen Reviewed by Simon Hausmann. Partial WINSCW build fix. Add parentheses around the function pointer declaration, similar to the second hunk in r48825. * loader/CachedResourceHandle.h: 2009-10-02 Adam Barth Unreviewed attempted build fix by Xcode magic. * WebCore.xcodeproj/project.pbxproj: 2009-10-02 Adam Barth Unreviewed build fix. Actually add the new files. * loader/RedirectScheduler.cpp: Added. (WebCore::ScheduledRedirection::): (WebCore::ScheduledRedirection::ScheduledRedirection): (WebCore::RedirectScheduler::RedirectScheduler): (WebCore::RedirectScheduler::~RedirectScheduler): (WebCore::RedirectScheduler::redirectScheduledDuringLoad): (WebCore::RedirectScheduler::clear): (WebCore::RedirectScheduler::scheduleRedirect): (WebCore::RedirectScheduler::mustLockBackForwardList): (WebCore::RedirectScheduler::scheduleLocationChange): (WebCore::RedirectScheduler::scheduleFormSubmission): (WebCore::RedirectScheduler::scheduleRefresh): (WebCore::RedirectScheduler::locationChangePending): (WebCore::RedirectScheduler::scheduleHistoryNavigation): (WebCore::RedirectScheduler::timerFired): (WebCore::RedirectScheduler::schedule): (WebCore::RedirectScheduler::startTimer): (WebCore::RedirectScheduler::cancel): * loader/RedirectScheduler.h: Added. 2009-10-01 Adam Barth Reviewed by Darin Adler. Move RedirectScheduler to its own file https://bugs.webkit.org/show_bug.cgi?id=29952 This change is purely code motion. No behavior change. * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * loader/FrameLoader.cpp: * loader/FrameLoader.h: * loader/RedirectScheduler.cpp: Added. (WebCore::ScheduledRedirection::): (WebCore::ScheduledRedirection::ScheduledRedirection): (WebCore::RedirectScheduler::RedirectScheduler): (WebCore::RedirectScheduler::~RedirectScheduler): (WebCore::RedirectScheduler::redirectScheduledDuringLoad): (WebCore::RedirectScheduler::clear): (WebCore::RedirectScheduler::scheduleRedirect): (WebCore::RedirectScheduler::mustLockBackForwardList): (WebCore::RedirectScheduler::scheduleLocationChange): (WebCore::RedirectScheduler::scheduleFormSubmission): (WebCore::RedirectScheduler::scheduleRefresh): (WebCore::RedirectScheduler::locationChangePending): (WebCore::RedirectScheduler::scheduleHistoryNavigation): (WebCore::RedirectScheduler::timerFired): (WebCore::RedirectScheduler::schedule): (WebCore::RedirectScheduler::startTimer): (WebCore::RedirectScheduler::cancel): * loader/RedirectScheduler.h: Added. 2009-10-02 Dave MacLachlan Reviewed by David Levin. Clean up warnings in WebCore/bindings/v8/npruntime.cpp https://bugs.webkit.org/show_bug.cgi?id=29971 Gets rid of warnings on gcc about using anonymous namespaces warning: 'StringKeyHashTraits' has a base 'WTF::GenericHashTraits<::StringKey>' whose type uses the anonymous namespace and warning: 'WTF::PairHashTraits >' has a base 'WTF::GenericHashTraits::StringKey, PrivateIdentifier*> >' whose type uses the anonymous namespace No tests required. * bindings/v8/npruntime.cpp: 2009-10-01 Mark Rowe Fix the Tiger build. Don't unconditionally enable 3D canvas as it is not supported on Tiger. * Configurations/FeatureDefines.xcconfig: 2009-10-01 Chris Marrin Reviewed by Oliver Hunt. Turn on ENABLE_3D_CANVAS in TOT https://bugs.webkit.org/show_bug.cgi?id=29906 Fixed a bug found when running tests with flag on * Configurations/FeatureDefines.xcconfig: * WebCore.base.exp: * bindings/js/JSCanvasArrayBufferConstructor.h: (WebCore::construct): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/canvas/CanvasArray.cpp: (WebCore::CanvasArray::CanvasArray): * html/canvas/CanvasByteArray.cpp: (WebCore::CanvasByteArray::create): * html/canvas/CanvasFloatArray.cpp: (WebCore::CanvasFloatArray::create): * html/canvas/CanvasIntArray.cpp: (WebCore::CanvasIntArray::create): * html/canvas/CanvasShortArray.cpp: (WebCore::CanvasShortArray::create): * html/canvas/CanvasUnsignedByteArray.cpp: (WebCore::CanvasUnsignedByteArray::create): * html/canvas/CanvasUnsignedIntArray.cpp: (WebCore::CanvasUnsignedIntArray::create): * html/canvas/CanvasUnsignedShortArray.cpp: (WebCore::CanvasUnsignedShortArray::create): * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setWebGLEnabled): * page/Settings.h: (WebCore::Settings::webGLEnabled): 2009-10-01 Beth Dakin Reviewed by Dan Bernstein. Fix for Re-add a vendor prefix to box- shadow (29927) -and corresponding- https://bugs.webkit.org/show_bug.cgi?id=29927 * css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): (WebCore::ShadowParseContext::ShadowParseContext): (WebCore::ShadowParseContext::commitValue): (WebCore::ShadowParseContext::commitLength): (WebCore::ShadowParseContext::commitColor): (WebCore::cssPropertyID): * css/CSSPropertyNames.in: * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): * page/animation/AnimationBase.cpp: (WebCore::ensurePropertyMap): 2009-10-01 Beth Dakin Rubber-stamped by Sam Weinig. At bad merge at some point in the development of my patch must have put TextRenderMode.h in a weird spot in the xcodeproj. Moving it back where it belongs! * WebCore.xcodeproj/project.pbxproj: 2009-09-30 Adam Barth Reviewed by Darin Adler. Remove FrameLoader::schedule* APIs https://bugs.webkit.org/show_bug.cgi?id=29950 Change clients of FrameLoader::schedule* to call redirectScheduler directly. No behavior change. * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::setLocation): (WebCore::createWindow): (WebCore::JSDOMWindow::open): * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::setLocation): * bindings/js/JSLocationCustom.cpp: (WebCore::navigateIfAllowed): (WebCore::JSLocation::reload): * bindings/v8/V8Utilities.cpp: (WebCore::navigateIfAllowed): * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::createWindow): (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8LocationCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): * dom/Document.cpp: (WebCore::Document::implicitClose): (WebCore::Document::processHttpEquiv): * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write): * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestFrame): (WebCore::FrameLoader::submitForm): (WebCore::FrameLoader::receivedFirstData): * loader/FrameLoader.h: * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache): * page/History.cpp: (WebCore::History::back): (WebCore::History::forward): (WebCore::History::go): 2009-10-01 Beth Dakin Just removing a comment I accidentally committed earlier. * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::getCFStringAttributes): 2009-09-30 Jeremy Orlow Reviewed by Darin Adler. Clean up use of const and mutable in StorageMap https://bugs.webkit.org/show_bug.cgi?id=29933 What's the point of having every single member variable be mutable and nearly every method be const? Let's clean it up. * storage/StorageMap.cpp: (WebCore::StorageMap::setIteratorToIndex): (WebCore::StorageMap::key): (WebCore::StorageMap::importItem): * storage/StorageMap.h: 2009-10-01 Beth Dakin Reviewed by Dave Hyatt. Fix for Support CSS for Text Kerning and ligature -and corresponding- https://bugs.webkit.org/show_bug.cgi?id=6136 This patch makes the SVG CSS property text-rendering work with any HTML, much like it does in Firefox. It accepts four possible input values: auto, optimizeSpeed, optimizeLegibility, and geometricPrecision. Right now, in this implementation, here is what those values correspond to: auto = optimizeSpeed = what we normally when the value's not set optimizeLegibility = geometricPrecision = ligatures + kerning Add new file TextRenderingMode.h to the project files. * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: CSS support for the new CSSPropertyTextRendering * css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator TextRenderingMode): * css/CSSPropertyNames.in: * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): * css/CSSValueKeywords.in: All the old SVG CSS support for this property can go away. When it's used in SVG, it will just fall into the normal HTML case. * css/SVGCSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): * css/SVGCSSParser.cpp: (WebCore::CSSParser::parseSVGValue): * css/SVGCSSPropertyNames.in: * css/SVGCSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applySVGProperty): * css/SVGCSSValueKeywords.in: FontDescription stores the m_textRendering bit. * platform/graphics/FontDescription.h: (WebCore::FontDescription::FontDescription): (WebCore::FontDescription::textRenderingMode): (WebCore::FontDescription::setTextRenderingMode): (WebCore::FontDescription::operator==): We want to fall into the complex text rendering code path if kerning and ligatures have been enabled with this property. * platform/graphics/FontFastPath.cpp: (WebCore::Font::canUseGlyphCache): Now takes a TextRenderingMode as a parameter. * platform/graphics/SimpleFontData.h: New header for the enum. * platform/graphics/TextRenderingMode.h: Added. (WebCore::): getCFStringAttributes() now takes a TextRenderingMode as an attribute. * platform/graphics/mac/CoreTextController.cpp: (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Enable kerning and ligatures whenever the TextRenderingMode is OptimizeLegibility or GeometricPrecision * platform/graphics/mac/FontMacATSUI.mm: (WebCore::disableLigatures): (WebCore::initializeATSUStyle): (WebCore::ATSULayoutParameters::initialize): * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::getCFStringAttributes): More SVG CSS stuff that isn't needed anymore since SVG will use the new HTML CSS implementation. * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::setBitDefaults): * rendering/style/SVGRenderStyleDefs.h: 2009-10-01 Yury Semikhatsky Reviewed by Timothy Hatcher. Use isClosure property of scope proxy to decide whether the scope is a closure. https://bugs.webkit.org/show_bug.cgi?id=29965 * inspector/front-end/ScopeChainSidebarPane.js: (WebInspector.ScopeChainSidebarPane.prototype.update): 2009-10-01 Simon Fraser Reviewed by Dave Hyatt. Odd color transitions on anchors with transition-property: all https://bugs.webkit.org/show_bug.cgi?id=29911 When transitioning maybe-invalid colors, if the source and destination color are both invalid, then don't animate. This fixes an issue where a child element of an element running a color transition, with -webkit-transition-property:all, would show a color change. This happened because the "maybe invalid color" logic copied the color style into -webkit-text-fill-color for both endpoints, causing -webkit-text-fill-color to animate while the transition ran, and to then to disappear when the transition finished. Test: transitions/color-transition-all.html * page/animation/AnimationBase.cpp: (WebCore::PropertyWrapperMaybeInvalidColor::equals): (WebCore::PropertyWrapperMaybeInvalidColor::blend): 2009-10-01 Victor Wang Reviewed by Oliver Hunt. Allow dragging a node who has child nodes. https://bugs.webkit.org/show_bug.cgi?id=28632 Test: fast/events/drag-parent-node.html * page/EventHandler.cpp: (WebCore::EventHandler::shouldDragAutoNode): 2009-10-01 Philippe Normand Reviewed by Gustavo Noronha. [GTK] media player: better mute support https://bugs.webkit.org/show_bug.cgi?id=29960 Handle volume and mute state with the two corresponding properties of playbin2. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::setMuted): (WebCore::MediaPlayerPrivate::setVolume): 2009-10-01 Philippe Normand Reviewed by Gustavo Noronha. [GTK] video sink pad template colorspace is wrong https://bugs.webkit.org/show_bug.cgi?id=29953 Set sink pad template colorspace depending on byte order. * platform/graphics/gtk/VideoSinkGStreamer.cpp: (webkit_video_sink_idle_func): 2009-10-01 Vitaly Repeshko Reviewed by Dimitri Glazkov. [V8] Refactored V8 event listeners: (This change should fix http://crbug.com/21079 and https://bugs.webkit.org/show_bug.cgi?id=29093.) o All listeners use weak handles to JS objects to avoid creating cycles and leaking memory. o "Object" variants of listeners removed. o All event accessor callbacks are generated. o Custom event accessors removed. o All wrappers have hidden dependencies on their listeners to prevent listeners from being collected. o All variats of getEventListener function grouped in V8DOMWrapper. o Pointers to C++ EventListener wrappers are stored in JS objects instead of event listener lists. https://bugs.webkit.org/show_bug.cgi?id=29825 * WebCore.gypi: Removed "Object" listeners. * bindings/scripts/CodeGeneratorV8.pm: Now handles event accessors. * bindings/v8/DOMObjectsInclude.h: V8AbstractEventListener manages weak JS handle: * bindings/v8/V8AbstractEventListener.cpp: (WebCore::weakEventListenerCallback): (WebCore::V8AbstractEventListener::V8AbstractEventListener): (WebCore::V8AbstractEventListener::~V8AbstractEventListener): (WebCore::V8AbstractEventListener::handleEvent): (WebCore::V8AbstractEventListener::disposeListenerObject): (WebCore::V8AbstractEventListener::setListenerObject): * bindings/v8/V8AbstractEventListener.h: (WebCore::V8AbstractEventListener::cast): (WebCore::V8AbstractEventListener::isLazy): (WebCore::V8AbstractEventListener::getListenerObject): (WebCore::V8AbstractEventListener::getExistingListenerObject): (WebCore::V8AbstractEventListener::hasExistingListenerObject): (WebCore::V8AbstractEventListener::disconnectFrame): (WebCore::V8AbstractEventListener::disconnected): (WebCore::V8AbstractEventListener::prepareListenerObject): (WebCore::V8AbstractEventListener::lineNumber): (WebCore::V8AbstractEventListener::virtualisAttribute): Grouped getEventListener functions: * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::getTemplate): (WebCore::V8DOMWrapper::getEventListener): * bindings/v8/V8DOMWrapper.h: Removed most event listener objects bookkeeping: * bindings/v8/V8EventListenerList.cpp: * bindings/v8/V8EventListenerList.h: (WebCore::V8EventListenerList::findWrapper): (WebCore::V8EventListenerList::clearWrapper): (WebCore::V8EventListenerList::doFindWrapper): (WebCore::V8EventListenerList::getHiddenProperty): (WebCore::V8EventListenerList::findOrCreateWrapper): Added hidden properties for storing EventListener wrappers: * bindings/v8/V8HiddenPropertyName.cpp: (WebCore::V8HiddenPropertyName::listener): (WebCore::V8HiddenPropertyName::attributeListener): * bindings/v8/V8HiddenPropertyName.h: * bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListener::V8LazyEventListener): (WebCore::V8LazyEventListener::callListenerFunction): (WebCore::V8LazyEventListener::prepareListenerObject): * bindings/v8/V8LazyEventListener.h: (WebCore::V8LazyEventListener::isLazy): * bindings/v8/V8ObjectEventListener.cpp: Removed. * bindings/v8/V8ObjectEventListener.h: Removed. * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::disconnectFrame): (WebCore::V8Proxy::disconnectEventListeners): * bindings/v8/V8Proxy.h: * bindings/v8/V8WorkerContextEventListener.cpp: (WebCore::V8WorkerContextEventListener::reportError): (WebCore::V8WorkerContextEventListener::getReceiverObject): * bindings/v8/V8WorkerContextEventListener.h: * bindings/v8/V8WorkerContextObjectEventListener.cpp: Removed. * bindings/v8/V8WorkerContextObjectEventListener.h: Removed. * bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::dispose): (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener): * bindings/v8/WorkerContextExecutionProxy.h: * bindings/v8/custom/V8AbstractWorkerCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8CustomBinding.h: * bindings/v8/custom/V8CustomEventListener.cpp: (WebCore::V8EventListener::V8EventListener): (WebCore::V8EventListener::getListenerFunction): (WebCore::V8EventListener::callListenerFunction): * bindings/v8/custom/V8CustomEventListener.h: * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: * bindings/v8/custom/V8MessagePortCustom.cpp: (WebCore::getEventListener): (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8NodeCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8NotificationCenterCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8WebSocketCustom.cpp: * bindings/v8/custom/V8WorkerContextCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8WorkerCustom.cpp: * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: 2009-10-01 Alexis Menard Reviewed by Tor Arne Vestbø. Rename QWebGraphicsItem to QGraphicsWebView * WebCore.pro: 2009-10-01 Dumitru Daniliuc Reviewed by Dimitri Glazkov. Read-only transactions do not change file sizes and therefore should not trigger quota updates. https://bugs.webkit.org/show_bug.cgi?id=29945 * storage/SQLTransaction.cpp: (WebCore::SQLTransaction::openTransactionAndPreflight): (WebCore::SQLTransaction::runStatements): 2009-09-30 Timothy Hatcher Fix list box scrolling by correctly overriding the scroll() function on RenderBox. REGRESSION (r48683): Mousewheel scrolling of listboxes is broken (29756) Reviewed by Dan Bernstein. * rendering/RenderListBox.cpp: (WebCore::RenderListBox::scroll): * rendering/RenderListBox.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::scroll): * rendering/RenderTextControlSingleLine.h: 2009-10-01 Yury Semikhatsky Reviewed by Timothy Hatcher. Make a copy of listeners array before dispatching an event in WebInspector.Object.prototype.dispatchEventToListeners. Otherwise if current listener removes itself from the array next listener will be skipped. https://bugs.webkit.org/show_bug.cgi?id=29920 * inspector/front-end/Object.js: (WebInspector.Object.prototype.dispatchEventToListeners): make a copy of listeners array before dispatching an event 2009-10-01 Martin Robinson Reviewed by Xan Lopez. [GTK] GtkIMContext filtering interferes with DOM key events https://bugs.webkit.org/show_bug.cgi?id=28733 Ensure that keyboard events filtered by the GtkIMContext still create the proper DOM events. No tests added. Instead previously skipped tests have been enabled. * platform/gtk/KeyEventGtk.cpp: (WebCore::keyIdentifierForGdkKeyCode): (WebCore::singleCharacterString): 2009-10-01 Philippe Normand Reviewed by Xan Lopez. [GTK] data: uri support in media player https://bugs.webkit.org/show_bug.cgi?id=29842 New GStreamer element to handle data: uris. For now only base64 encoded data is supported. Decoded data is handed over to giostreamsrc. * GNUmakefile.am: * platform/graphics/gtk/DataSourceGStreamer.cpp: Added. (_do_init): (webkit_data_src_base_init): (webkit_data_src_class_init): (webkit_data_src_reset): (webkit_data_src_init): (webkit_data_src_finalize): (webkit_data_src_uri_get_type): (webkit_data_src_uri_get_protocols): (webkit_data_src_uri_get_uri): (webkit_data_src_uri_set_uri): (webkit_data_src_uri_handler_init): * platform/graphics/gtk/DataSourceGStreamer.h: Added. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::do_gst_init): (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::mimeTypeCache): 2009-09-30 Daniel Bates Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=29944 Reduces false positives in the XSSAuditor by explicitly allowing requests that do not contain illegal URI characters. As a side effect of this change, the tests property-inject.html, property-escape-noquotes.html, and property-escape-noquotes-tab-slash-chars.html fail because these attacks do not contain any illegal URI characters and thus are now allowed by the XSSAuditor, where previously they weren't. A future change may reinstate this functionality. Tests: http/tests/security/xssAuditor/script-tag-safe2.html http/tests/security/xssAuditor/script-tag-safe3.html * page/XSSAuditor.cpp: (WebCore::isIllegalURICharacter): Added method. (WebCore::XSSAuditor::canEvaluate): (WebCore::XSSAuditor::canCreateInlineEventListener): (WebCore::XSSAuditor::findInRequest): Added parameter allowRequestIfNoIllegalURICharacters. * page/XSSAuditor.h: 2009-09-30 Oliver Hunt Reviewed by Maciej Stachowiak. reproducible freeze and crash on closing form popup at bosch-home.nl https://bugs.webkit.org/show_bug.cgi?id=28948 showModalDialog calls getDirect on what is actually a window shell, so ends up not getting a value (since no value can ever be placed directly on the shell), which leads to incorrect behaviour. We use a manual test rather than automatic as it was not possible to get a modal run loop to work inside DRT. * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::showModalDialog): * manual-tests/showModalDialog-returnValue.html: manual testcase. 2009-09-30 Kent Tamura Reviewed by Darin Adler. Adds ValidityState.tooLong support for and