2009-10-20 Fumitoshi Ukai Reviewed by David Levin. Set EnabledAtRuntime for WebSocket in DOMWindow https://bugs.webkit.org/show_bug.cgi?id=29896 Supported by chromium/v8 only. Add WebSocket::isAvailable()/setIsAvailable(bool) to control v8 bindings. Remove Settings::experimentalWebSocketsEnabled() and setExperimentalWebSocketsEnabled(bool). * WebCore.base.exp: * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::webSocket): * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::getConstructor): * bindings/v8/custom/V8CustomBinding.h: * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::ACCESSOR_RUNTIME_ENABLER): * page/DOMWindow.idl: * page/Settings.cpp: (WebCore::Settings::Settings): * page/Settings.h: * websockets/WebSocket.cpp: (WebCore::WebSocket::setIsAvailable): (WebCore::WebSocket::isAvailable): * websockets/WebSocket.h: 2009-10-19 Oliver Hunt Reviewed by Sam Weinig. REGRESSION: Dromaeo DOM test is 14% slower https://bugs.webkit.org/show_bug.cgi?id=30273 Whoops, make prototype bindings actually use the StructureFlags. * bindings/scripts/CodeGeneratorJS.pm: 2009-10-19 James Robinson Reviewed by Adam Barth. Better implementation of WebCore::ScriptString for the V8 bindings. https://bugs.webkit.org/show_bug.cgi?id=29909 WebCore::ScriptString is used for XMLHttpRequest's responseText attribute which is shared with JavaScript. Thus, simply using a WebCore::String and copying the value is pretty inefficient, especially since responseText is built up with a sequence of operator+= calls. JSC builds use a JSC::UString to share the buffer when possible, this patch adopts a similar approach for V8. No new tests, behavior is unchanged and covered by LayoutTests/http/tests/xmlhttprequest * WebCore.gypi: * bindings/v8/ScriptString.h: (WebCore::ScriptString::ScriptString): (WebCore::ScriptString::operator String): (WebCore::ScriptString::isNull): (WebCore::ScriptString::size): (WebCore::ScriptString::operator=): (WebCore::ScriptString::operator+=): (WebCore::ScriptString::v8StringOrNull): * bindings/v8/ScriptStringImpl.cpp: Added. (WebCore::ScriptStringImpl::ScriptStringImpl): (WebCore::ScriptStringImpl::~ScriptStringImpl): (WebCore::ScriptStringImpl::toString): (WebCore::ScriptStringImpl::isNull): (WebCore::ScriptStringImpl::size): (WebCore::ScriptStringImpl::append): * bindings/v8/ScriptStringImpl.h: Added. (WebCore::ScriptStringImpl::ScriptStringImpl): (WebCore::ScriptStringImpl::v8StringHandle): * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: (WebCore::ACCESSOR_GETTER): 2009-10-19 Adam Barth No review, rolling out r49837. http://trac.webkit.org/changeset/49837 * page/Settings.cpp: (WebCore::Settings::setStandardFontFamily): (WebCore::Settings::setFixedFontFamily): (WebCore::Settings::setSerifFontFamily): (WebCore::Settings::setSansSerifFontFamily): (WebCore::Settings::setCursiveFontFamily): (WebCore::Settings::setFantasyFontFamily): * page/Settings.h: (WebCore::Settings::standardFontFamily): (WebCore::Settings::fixedFontFamily): (WebCore::Settings::serifFontFamily): (WebCore::Settings::sansSerifFontFamily): (WebCore::Settings::cursiveFontFamily): (WebCore::Settings::fantasyFontFamily): * platform/text/UScriptCode.h: Removed. 2009-10-19 Kwang Yul Seo Reviewed by Eric Seidel. Check COMPILER(MSVC) instead of PLATFORM(WIN_OS) to avoid the use of vasprintf. https://bugs.webkit.org/show_bug.cgi?id=30473 vasprintf is missing in MSVC. Use COMPILER(MSVC) guards instead of PLALTFORM(WIN_OS) guards. * dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::error): 2009-10-19 Jungshik Shin Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=20797 Make generic font family getters/setters accept an additional argument (script code). It has a default value so that if an embedder does not have/want a per-script font family setting, call-sites don't have to be changed. This is to prepare for fixing bug 10874 (font selection is not language-dependent) and bug 18085. There should be no change in layout and no new layout test is added. * WebCore.base.exp: * page/Settings.cpp: * page/Settings.h: * platform/text/UScriptCode.h: Added. This is for ports that do not use ICU. the part of ICU's common/unicode/uscript.h that defines script code enum was copied. To keep enums compatible with those in ICU, we don't generate the list out of Scripts.txt of the Unicode Data base or CLDR's data. 2009-10-19 Evan Stade Reviewed by Darin Adler. Clarify usage of SuddenTermination API. No code change. * platform/SuddenTermination.h: 2009-10-19 Oliver Hunt Reviewed by Gavin Barraclough. REGRESSION: Dromaeo DOM test is 14% slower https://bugs.webkit.org/show_bug.cgi?id=30273 Make DOM bindings automatically inherit correct structure flags rather than being needlessly conservative. This is done by making the bindings generator use the same model for TypeInfo flags that we now use in JSC. This gains us about 1% of this regression back. * bindings/js/JSDOMBinding.h: (WebCore::DOMObjectWithGlobalPointer::createStructure): (WebCore::DOMConstructorObject::createStructure): * bindings/js/JSDOMWindowShell.h: (WebCore::JSDOMWindowShell::createStructure): * bindings/js/JSHTMLAllCollection.h: (WebCore::JSHTMLAllCollection::createStructure): * bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::createStructure): * bindings/scripts/CodeGeneratorJS.pm: * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::createStructure): * bridge/runtime_array.h: (JSC::RuntimeArray::createStructure): * bridge/runtime_method.h: (JSC::RuntimeMethod::createStructure): * bridge/runtime_object.h: (JSC::RuntimeObjectImp::createStructure): 2009-10-19 Robin Qiu Reviewed by Nikolas Zimmermann. Fixed a bug on nested SVG elements. https://bugs.webkit.org/show_bug.cgi?id=26117 When a element refer to another element which has child/children, the instance tree built for this element is incorrect (more nodes than expected). Test: svg/dom/use-on-use-with-child.svg * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::buildInstanceTree): 2009-10-19 Oliver Hunt Small changes to fully invalidate and update the JavaScriptCallFrame. JSDebugger crashes after reloading from a breakpoint https://bugs.webkit.org/show_bug.cgi?id=27146 Reviewed by Timothy Hatcher. * inspector/JavaScriptCallFrame.h: (WebCore::JavaScriptCallFrame::invalidate): (WebCore::JavaScriptCallFrame::update): 2009-10-19 Jeremy Orlow Reviewed by Dmitri Titov. Remove "source" from storage events https://bugs.webkit.org/show_bug.cgi?id=30536 Remove "source" from storage events per http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-October/023703.html This was removed because it makes it introduces synchronous access that can cross the event loop boundry (since a storage event can fire from one process and be handled in another). * inspector/InspectorDOMStorageResource.cpp: (WebCore::InspectorDOMStorageResource::handleEvent): * storage/StorageEvent.cpp: (WebCore::StorageEvent::create): (WebCore::StorageEvent::StorageEvent): (WebCore::StorageEvent::initStorageEvent): * storage/StorageEvent.h: (WebCore::StorageEvent::uri): * storage/StorageEvent.idl: * storage/StorageEventDispatcher.cpp: (WebCore::StorageEventDispatcher::dispatch): 2009-10-19 Adam Barth Reviewed by Eric Seidel. Remove ResourceLoadNotifier::activeDocumentLoader https://bugs.webkit.org/show_bug.cgi?id=30533 Removing this method from ResourceLoadNotifier better decouples the notifier from FrameLoader. * loader/FrameLoader.cpp: (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): (WebCore::FrameLoader::requestFromDelegate): * loader/ResourceLoadNotifier.cpp: (WebCore::ResourceLoadNotifier::didReceiveResponse): * loader/ResourceLoadNotifier.h: * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willSendRequest): 2009-10-19 Adam Barth Reviewed by Eric Seidel. Move sendRemainingDelegateMessages to ResourceLoadNotifier https://bugs.webkit.org/show_bug.cgi?id=30531 This method is about notifying folks and doesn't interact with the rest of FrameLoader. * loader/FrameLoader.cpp: (WebCore::FrameLoader::willLoadMediaElementURL): (WebCore::FrameLoader::commitProvisionalLoad): (WebCore::FrameLoader::loadResourceSynchronously): (WebCore::FrameLoader::loadedResourceFromMemoryCache): * loader/FrameLoader.h: * loader/ResourceLoadNotifier.cpp: (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages): * loader/ResourceLoadNotifier.h: 2009-10-19 Adam Barth Reviewed by Eric Seidel. Bypass popup blocker using click event https://bugs.webkit.org/show_bug.cgi?id=21501 Keep track of which events were generated by JavaScript and use that inforation when figuring out if we're processing a user gesture. Test: http/tests/security/popup-blocked-from-fake-event.html * bindings/js/ScriptController.cpp: (WebCore::ScriptController::processingUserGestureEvent): * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::processingUserGesture): * dom/Document.cpp: (WebCore::Document::createEvent): * dom/Event.cpp: (WebCore::Event::Event): * dom/Event.h: (WebCore::Event::createdByDOM): (WebCore::Event::setCreatedByDOM): 2009-10-19 Dumitru Daniliuc Reviewed by Darin Adler. Fixing a typo. https://bugs.webkit.org/show_bug.cgi?id=30543 * platform/sql/SQLiteDatabase.h: 2009-10-19 Dmitry Titov Reviewed by Darin Adler. Manual Test for crash caused by JS accessing DOMWindow which is disconnected from the Frame. https://bugs.webkit.org/show_bug.cgi?id=30544 * manual-tests/crash-on-accessing-domwindow-without-frame.html: Added. 2009-10-19 Simon Fraser Reviewed by Darin Adler. Flash at end of opacity/transform transition sometimes https://bugs.webkit.org/show_bug.cgi?id=30501 When a transition finishes, there window of time between when the animation is removed, and the final style set on the GraphicsLayer. This caused the layer to revert to its old appearance for one or two frames. To avoid this, we set the final transform or opacity at the start of the transition; we know that the animation will override the final value for as long as its running. No test because this is a very transient effect that can't be captured in a test. * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::createGraphicsLayer): (WebCore::RenderLayerBacking::updateLayerOpacity): (WebCore::RenderLayerBacking::updateLayerTransform): (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): (WebCore::RenderLayerBacking::startTransition): * rendering/RenderLayerBacking.h: 2009-10-19 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Add more stop characters into console completions. https://bugs.webkit.org/show_bug.cgi?id=30477 * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.completions): (WebInspector.ConsoleView.prototype._reportCompletions): 2009-10-19 Marshall Culpepper Reviewed by Adam Roben. implemented ClipboardWin::files() https://bugs.webkit.org/show_bug.cgi?id=29666 * platform/win/ClipboardWin.cpp: (WebCore::ClipboardWin::files): 2009-10-19 Nate Chapin Reviewed by Alexey Proskuryakov. Add support for link relations in HTMLAnchorElement and implement rel="noreferrer". https://bugs.webkit.org/show_bug.cgi?id=28986 Tests: http/tests/navigation/no-referrer-reset.html http/tests/navigation/no-referrer-same-window.html http/tests/navigation/no-referrer-subframe.html http/tests/navigation/no-referrer-target-blank.html * WebCore.base.exp: Update FrameLoader::loadFrameRequest export symbol * html/HTMLAnchorElement.cpp: Add support for link relations and implement noreferrer (WebCore::HTMLAnchorElement::HTMLAnchorElement): (WebCore::HTMLAnchorElement::defaultEventHandler): (WebCore::HTMLAnchorElement::parseMappedAttribute): (WebCore::HTMLAnchorElement::hasRel): (WebCore::HTMLAnchorElement::setRel): * html/HTMLAnchorElement.h: Add support for link relations and implement noreferrer * loader/FrameLoader.cpp: (WebCore::FrameLoader::FrameLoader): (WebCore::FrameLoader::createWindow): (WebCore::FrameLoader::changeLocation): (WebCore::FrameLoader::urlSelected): Add parameter for referrer policy (WebCore::FrameLoader::loadFrameRequest): Add parameter for referrer policy (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Suppress opener if requested by ReferrerPolicy * loader/FrameLoader.h: Update urlSelected and loadFrameRequest prototypes * loader/FrameLoaderTypes.h: Add enum for referrer policy * loader/RedirectScheduler.cpp: (WebCore::RedirectScheduler::timerFired): * page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected): Update call to urlSelected() * svg/SVGAElement.cpp: (WebCore::SVGAElement::defaultEventHandler): Update call to urlSelected() 2009-10-19 Alpha Lam Reviewed by Dimitri Glazkov (dglazkov@chromium.org). [v8] typeof(HTMLMediaElement) should return undefined if media engine is not available https://bugs.webkit.org/show_bug.cgi?id=30343 Check for availability of the media engine to disable HTMLMediaElement, HTMLAudioElement, HTMLVideoElement, MediaError in runtime. Try runs and review in Chromium: http://codereview.chromium.org/276011 Test: manual-tests/chromium/media-player-not-available.html The above test can work work in Chromium. Testing procedures: 1. Remove all media support libraries in Chromium (e.g. ffmpeg libraries) 2. Open Chromium with above test page 3. Verify the test results according to the test page * bindings/v8/custom/V8CustomBinding.h: Declare enabler methods. * bindings/v8/custom/V8DOMWindowCustom.cpp: Report enabled only if media player is available. * manual-tests/chromium/media-player-not-available.html: Added. Manual test, following instruction in this test for procedures. * page/DOMWindow.idl: Mark HTMLMediaElement, HTMLAudioElement, HTMLVideElement, MediaError as enabled at runtime. 2009-10-19 Kenneth Rohde Christiansen Reviewed by David Hyatt. Refactor out some of the code in paint() into paintPanScrollIcon() and paintScrollbars() in preparation of some Qt API changes. * platform/ScrollView.cpp: (WebCore::ScrollView::paint): * platform/ScrollView.h: 2009-10-19 Kenneth Rohde Christiansen Reviewed by Adam Roben. Make the local static panScrollIcon into a Image* instead of a RefPtr. * platform/ScrollView.cpp: (WebCore::ScrollView::wheelEvent): 2009-10-19 Andrew Scherkus Reviewed by David Levin. Forcefully set antialiasing for Chromium media controls. https://bugs.webkit.org/show_bug.cgi?id=30521 Before it was nondeterministiacally being enabled based on the previous state of GraphicsContext. Covered by existing layout tests. * rendering/RenderMediaControlsChromium.cpp: (WebCore::paintMediaSlider): Added setShouldAntialias(true). 2009-10-19 Jens Alfke Reviewed by Darin Adler. Optimize string upper/lowercasing https://bugs.webkit.org/show_bug.cgi?id=30261 - Added AtomicString::upper() and lower() - Further optimized StringImpl::lower() - Removed StringImpl::isLower() - Added QualifiedName::localNameUpper(), which is cached, thereby saving thousands of upper() calls and string allocations. * dom/Element.cpp: (WebCore::Element::setAttribute): Call AtomicString::lower() * dom/QualifiedName.cpp: (WebCore::QualifiedName::localNameUpper): New method * dom/QualifiedName.h: Added localNameUpper() method * dom/StyledElement.cpp: (WebCore::StyledElement::parseMappedAttribute): Call AtomicString::lower() * html/HTMLDocument.cpp: (WebCore::HTMLDocument::createElement): Call AtomicString::lower() * html/HTMLElement.cpp: (WebCore::HTMLElement::nodeName): Call localNameUpper() * platform/text/AtomicString.cpp: (WebCore::AtomicString::lower): New method (WebCore::AtomicString::upper): New method * platform/text/AtomicString.h: Added lower() and upper() * platform/text/StringImpl.cpp: Removed isLower() (WebCore::StringImpl::lower): Further optimization of initial loop * platform/text/StringImpl.h: Removed isLower() 2009-10-19 Nate Chapin Reviewed by Adam Barth. If a call to a plugin's invokeMethod, invokeDefault or construct returns false, throw an exception into JS. https://bugs.webkit.org/show_bug.cgi?id=30239 Test: plugins/netscape-invoke-failure.html * bindings/v8/V8NPObject.cpp: Check return values of invokeMethod, invokeDefault and construct. (npObjectInvokeImpl): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::invokeMethod): Check return value (JSC::Bindings::CInstance::invokeDefaultMethod): Check return value (JSC::Bindings::CInstance::invokeConstruct): Check return value 2009-10-16 Stephen White Reviewed by Adam Barth. Fix for chromium/skia canvas arc start/end positions, when the arc is >= 360 degrees. https://bugs.webkit.org/show_bug.cgi?id=30449 Covered by new test: LayoutTests/fast/canvas/arc360.html * platform/graphics/skia/PathSkia.cpp: (WebCore::Path::addArc): 2009-10-19 Kent Tamura Reviewed by Alexey Proskuryakov. Fix uninitialized variable reference in Element::removeAttribute(). https://bugs.webkit.org/show_bug.cgi?id=30502 * dom/Element.cpp: (WebCore::Element::removeAttribute): 2009-10-19 Eric Carlson Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=30463 Remove HTML5 media element 'loadend' event * dom/EventNames.h: * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseMappedAttribute): Remove 'loadend'. (WebCore::HTMLMediaElement::loadInternal): Ditto. (WebCore::HTMLMediaElement::noneSupported): Ditto. (WebCore::HTMLMediaElement::mediaEngineError): Ditto. (WebCore::HTMLMediaElement::setNetworkState): Ditto. (WebCore::HTMLMediaElement::userCancelledLoad): Ditto. 2009-10-19 Jocelyn Turcotte Reviewed by Adam Barth. [Qt] Remove deletion of outgoing FormData object when reply is finished. The buffers will be destroyed a bit later, when the QNetworkReply is deleted. Bug: https://bugs.webkit.org/show_bug.cgi?id=29551 * platform/network/qt/QNetworkReplyHandler.cpp: * platform/network/qt/QNetworkReplyHandler.h: 2009-10-19 Dimitri Glazkov Reviewed by Darin Adler. Fix hard-to-reproduce crash in HTMLTokenizer by avoiding a rare fastRealloc edge case. https://bugs.webkit.org/show_bug.cgi?id=29313 No test, the crash shows up occasionally in crash dumps, we weren't able to reproduce it locally. * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::enlargeScriptBuffer): Added an early exit to avoid calling fastRealloc with the size of 0. 2009-10-19 Andrew Scherkus Reviewed by Eric Seidel. Use fillRect() instead of drawRect() to fix Chromium media controls rendering. https://bugs.webkit.org/show_bug.cgi?id=30371 Chromium Mac layout tests will need to be rebaselined. Existing layout tests for Linux/Win still pass. * rendering/RenderMediaControlsChromium.cpp: (WebCore::paintMediaSlider): Use fillRect() instead of drawRect(). 2009-10-19 Dmitry Titov Reviewed by Adam Barth. Crash in DOMWindow::clearTimeout etc when DOMWindow is not connected to a frame. https://bugs.webkit.org/show_bug.cgi?id=29832 Need to make sure the script caches are reset when frame gets disconnected from still-alive DOMWindow. This will prevent JS from calling DOMWindow methods that can not be completed w/o the frame. I am not sure it's possible to test this since the only file that repros the problem need ~10 seconds to cause crash. * page/Frame.cpp: (WebCore::Frame::~Frame): Right after frame disconnects from DOMWindow, clear WindowShell. 2009-10-19 Csaba Osztrogonác Unreviewed build warning fix. [Qt] Apply changes to WebCore.pro introduced in r49778 * WebCore.pro: Removed svg/graphics/filters/SVGFEGaussianBlur.h from HEADERS 2009-10-19 Dirk Schulze Reviewed by Darin Adler. Move feGaussianBlur from WebCore/svg to WebCore/platform [https://bugs.webkit.org/show_bug.cgi?id=30495] This patch moves SVGFRGaussianBlur from svg/graphics/filters to platform/graphics/filters/FEGaussianBlur. This is needed for shadow support on Qt and Cairo. No change in functionality, therfore no new test case needed. * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * platform/graphics/filters/FEGaussianBlur.cpp: Added. * platform/graphics/filters/FEGaussianBlur.h: Added. * svg/SVGFEGaussianBlurElement.h: * svg/graphics/filters/SVGFEGaussianBlur.cpp: Removed. * svg/graphics/filters/SVGFEGaussianBlur.h: Removed. 2009-10-19 Yael Aharon Unreviewed. Added reviewer name to r49574. 2009-10-19 Joanmarie Diggs Reviewed by Xan Lopez. https://bugs.webkit.org/show_bug.cgi?id=30489 [Gtk] The document frame/html container claims to be parentless Work around for the parentless claim made by the accessible associated with the embedded WebView. When we identify this condition, get the widget's parent, and then get the AtkObject from that. Admittedly an ugly hack, but we'll need it for Yelp and other Gtk+/GNOME applications which plan to switch over to WebKit. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (webkit_accessible_get_parent): 2009-10-19 Benjamin Otte Reviewed by Jan Alonzo. Handle duration queries properly https://bugs.webkit.org/show_bug.cgi?id=29999 Previously duration queries failed to handle unknown duration and didn't treat the returned duration as an unsigned. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::duration): 2009-10-19 Jocelyn Turcotte Reviewed by Tor Arne Vestbø. [Qt] Fix build on Windows. * plugins/win/PluginViewWin.cpp: (windowHandleForPageClient): 2009-10-19 Girish Ramakrishnan Reviewed by Holger Freyther. [Qt] Windowed Plugins: Don't crash when client is 0. Client is 0 when we use QWebPage without a QWebView or QGraphicsWebView. In addition, setFrameRect()/updatePluginWidget() is called even if the plugin was not succesfully loaded. updatePluginWidget() updates the window rect which is, in theory, useful to draw something that indicates that we didn't load successfully. So, a status check is added to setNPWindowIfNeeded. https://bugs.webkit.org/show_bug.cgi?id=30380 * plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::setNPWindowIfNeeded): (WebCore::PluginView::platformStart): 2009-10-19 Girish Ramakrishnan Reviewed by Holger Freyther. [Qt] Windowed Plugins: Fix crash when QWebPage is deleted after QWebView. Fixes various sources of crashes: 1. The PluginContainer is a child of QWebView. When the view gets deleted, the PluginView is not notified about the deletion of PluginContainer. 2. QWebView destructor does not set client to 0. 3. Sometimes pending paint events are sent after the plugin has died, so add a check in PluginView::setNPWindowIfNeeded. https://bugs.webkit.org/show_bug.cgi?id=30354 * plugins/qt/PluginContainerQt.cpp: (PluginContainerQt::~PluginContainerQt): * plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::setNPWindowIfNeeded): 2009-10-19 Jakob Truelsen Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=29042 Allow one to customize the minimal and maximal shrink factors used when printing. * page/PrintContext.cpp: (WebCore::PrintContext::begin): * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setPrintingMinimumShrinkFactor): (WebCore::Settings::setPrintingMaximumShrinkFactor): * page/Settings.h: (WebCore::Settings::printingMinimumShrinkFactor): (WebCore::Settings::printingMaximumShrinkFactor): 2009-10-18 Erik Arvidsson Reviewed by Adam Barth. Fixes issue where doubleclicking a word could select following adjacent newlines. https://bugs.webkit.org/show_bug.cgi?id=30234 Tests: platform/mac/editing/selection/doubleclick-should-not-expand-across-lines.html platform/mac/editing/selection/script-tests/TEMPLATE.html platform/win/editing/selection/doubleclick-should-not-expand-across-lines.html platform/win/editing/selection/script-tests/TEMPLATE.html * editing/VisibleSelection.cpp: (WebCore::VisibleSelection::appendTrailingWhitespace): 2009-10-18 Kevin Ollivier CURL build fix, use proper header name. * platform/network/curl/ResourceHandleManager.h: 2009-10-18 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Properties on Arrays and NodeLists are not logged correctly. https://bugs.webkit.org/show_bug.cgi?id=30485 * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype._formatarray): (WebInspector.ConsoleView.prototype._printArray): 2009-10-18 Pavel Feldman Not reviewed: touching WebCore so that it initiated inspector frontend deployment on Windows. Web Inspector: frontend files are not deployed in Windows incremental build. * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::unbind): 2009-10-18 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Title of dir(["test", "test2"]) should be Array https://bugs.webkit.org/show_bug.cgi?id=30486 Test: inspector/console-tests.html * inspector/front-end/InjectedScript.js: 2009-10-18 Dirk Schulze Reviewed by Nikolas Zimmermann. REGRESSION: SVG Mask doesn't work for maskContentUnits="objectBoundingBox" [https://bugs.webkit.org/show_bug.cgi?id=30480] Patch for SVGMaskElement landed in r49598 should correct the location of the mask image graphics context. It only corrects the location for userSpaceOnUse mode in maskContentUnits but breaks objectBoundingBoxMode. The maskDestRect shouldn't be moved. It is not responsible for the correct context postioin but for the correct position of the mask image. This patch calculates the context postion independently from the maskDestRect. It also uses lineareRGB color space for masking on CG now. This is the default color space for masking operations. We already have tests for both maskContentUnits modes. *svg/W3C-SVG-1.1/masking-intro-01-f.svg *svg/custom/mask-with-default-value.svg Some tests needed new pixel tests because of the new color space. * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::drawMaskerContent): 2009-10-18 Anton Muhin Reviewed by Adam Barth. Use v8::Integer::NewFromUnsigned when converting unsigneds into V8's numbers. That is notably faster for small numbers (most common case). https://bugs.webkit.org/show_bug.cgi?id=30493 * bindings/scripts/CodeGeneratorV8.pm: 2009-10-18 Jan Michael Alonzo Reviewed by Holger Freyther. [GTK] Add MathML to the build system https://bugs.webkit.org/show_bug.cgi?id=30487 Add MathML sources if MathML support is enabled. * GNUmakefile.am: 2009-10-18 Kevin Ollivier Non-PCH build fix. Added missing header. * bridge/runtime_root.h: 2009-10-18 Simon Fraser Reviewed by Dan Bernstein. Compositing layers not correctly updated after partial layout https://bugs.webkit.org/show_bug.cgi?id=30425 When a partial layout happened, for example as the result of a postion-change-only layout, then some compositing layer positions were not correctly updated. To fix this, updateLayerPositions() now carries along a flag that is set at the rootmost layer being updated, and used to determine when we hit the first compositing layer in this update. RenderLayerBacking::updateAfterLayout() makes use of this information to do a full geometry update on that layer, which is thus the rootmost compositing layer that is being updated. Test: compositing/geometry/partial-layout-update.html * page/FrameView.cpp: (WebCore::FrameView::layout): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions): (WebCore::RenderLayer::scrollToOffset): * rendering/RenderLayer.h: (WebCore::RenderLayer::): * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateAfterLayout): * rendering/RenderLayerBacking.h: 2009-09-13 Kevin Watters Reviewed by Kevin Ollivier. Add support for proxies in CURL. https://bugs.webkit.org/show_bug.cgi?id=30446 * platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::setProxyInfo): (WebCore::ResourceHandleManager::initializeHandle): * platform/network/curl/ResourceHandleManager.h: (WebCore::ResourceHandleManager::): 2009-10-18 Joanmarie Diggs Reviewed by Xan Lopez https://bugs.webkit.org/show_bug.cgi?id=25901 Use ATK_ROLE_SECTION for divTag and ATK_ROLE_LABEL for labelTag Replaces the use of ATK_ROLE_PANEL with the expected accessible roles. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (webkit_accessible_get_role): 2009-10-17 Nikolas Zimmermann Reviewed by George Staikos. Cleanup SVGElement code, preparing for animVal support https://bugs.webkit.org/show_bug.cgi?id=30466 Add new SynchronizablePropertyController and move the code for SVG property <-> XML attribute synchronization from SVGElement. This is a further preparation for animVal support, where SynchronizablePropertyController will be used to control the start/end state of an animated property. We're currently tracking animated properties that need synchronization, generalize this concept and use it to track their creation (bound to certain SVG*Element classes) as well as a flag determing the need of synchronization (no SVG DOM object wrappers, no synchronization needed). No change in functionality, thus no tests. * GNUmakefile.am: Add 'SynchronizablePropertyController.cpp/h' to build * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * svg/SVGAllInOne.cpp: Ditto. * svg/SVGAnimatedProperty.h: Add registerProperty() function (WebCore::::SVGAnimatedProperty): Call registerProperty() function (WebCore::::registerProperty): Add new registerProperty() function, announcing new properties to SynchronizablePropertyController. * svg/SVGAnimatedTemplate.h: Use propertyController() method, to access the new functions moved from SVGElement. (WebCore::lookupOrCreateWrapper): * svg/SVGElement.cpp: Adapt to code moving to SynchronizablePropertyController. (WebCore::SVGElement::updateAnimatedSVGAttribute): * svg/SVGElement.h: Move handling SVG property synchronization to SynchronizablePropertyController. (WebCore::SVGElement::propertyController): Expose reference to SynchronizablePropertyController object. * svg/SVGViewSpec.cpp: Reorder initialization order of contextElement, leading to possible crashes. (WebCore::SVGViewSpec::SVGViewSpec): (WebCore::SVGViewSpec::viewTarget): * svg/SVGViewSpec.h: Ditto. (WebCore::SVGViewSpec::contextElement): * svg/SynchronizablePropertyController.cpp: Added. (WebCore::SynchronizablePropertyController::SynchronizablePropertyController): (WebCore::SynchronizablePropertyController::registerProperty): (WebCore::SynchronizablePropertyController::setPropertyNeedsSynchronization): (WebCore::SynchronizablePropertyController::synchronizeProperty): (WebCore::SynchronizablePropertyController::synchronizeAllProperties): (WebCore::SynchronizablePropertyController::startAnimation): (WebCore::SynchronizablePropertyController::stopAnimation): * svg/SynchronizablePropertyController.h: Added. (WebCore::SynchronizableProperty::SynchronizableProperty): (WebCore::SynchronizableProperty::isHashTableDeletedValue): (WebCore::SynchronizableProperty::operator==): (WebCore::SynchronizablePropertyHash::hash): (WebCore::SynchronizablePropertyHash::equal): (WebCore::SynchronizablePropertyHashTraits::constructDeletedValue): (WebCore::SynchronizablePropertyHashTraits::isDeletedValue): 2009-10-17 Joanmarie Diggs Reviewed by Xan Lopez. https://bugs.webkit.org/show_bug.cgi?id=25413 [GTK] Please expose the level of headings Exposes the heading level as an attribute of the AtkObject. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (addAttributeToSet): (webkit_accessible_get_attributes): (webkit_accessible_class_init): 2009-10-17 Kwang Yul Seo Reviewed by Eric Seidel. EventHandler::eventLoopHandleMouseDragged needs ENABLE(DRAG_SUPPORT) guards https://bugs.webkit.org/show_bug.cgi?id=30472 Put ENABLE(DRAG_SUPPORT) guards around EventHandler::eventLoopHandleMouseDragged in EventHandler.cpp. MSVC fails to compile when DRAG_SUPPORT not enabled. * page/EventHandler.cpp: 2009-10-17 Alpha Lam Reviewed by Eric Seidel. [chromium] Video controls not zoomed / transformed correctly https://bugs.webkit.org/show_bug.cgi?id=30461 Draw the images in the controls scaled. No new tests. With this change Chromium will pass the following tests: LayoutTests/media/video-controls-zoomed.html LayoutTests/media/video-controls-transformed.html * rendering/RenderMediaControlsChromium.cpp: (WebCore::paintMediaButton): Pass along the target rect directly. (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize): Adjust the thumb slide applied with the scale factor. 2009-10-17 Laszlo Gombos Unreviewed. [Gtk] Build fix for WebKitGtk after r49723. Add bindings/js/JSExceptionBase.* to the build. * GNUmakefile.am: 2009-10-17 Laszlo Gombos Unreviewed. [Qt] Build fix for QtWebKit after r49723. Add bindings/js/JSExceptionBase.cpp to the build. * WebCore.pro: 2009-10-16 Steve Falkenburg Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=30456 Fixes for new Debug_All Windows build configuration. * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::findCFNetworkModule): Ask for the correct library instead of guessing. * platform/win/ScrollbarThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming. * rendering/RenderMediaControls.cpp: Use new DEBUG_ALL preprocessor define for library naming. * rendering/RenderThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming. 2009-10-16 Jon Honeycutt Add SPI to determine whether a plug-in has ever been halted. Part of . Reviewed by Dan Bernstein. * plugins/PluginView.cpp: (WebCore::PluginView::PluginView): Initialize m_hasBeenHalted. * plugins/PluginView.h: (WebCore::PluginView::hasBeenHalted): Return m_hasBeenHalted. * plugins/win/PluginViewWin.cpp: (WebCore::PluginView::halt): Set m_hasBeenHalted. 2009-10-16 Adam Barth Reviewed by Alexey Proskuryakov. @charset rule after the first byte causes the rest of css to be ignored https://bugs.webkit.org/show_bug.cgi?id=18265 Apparently we're supposed to tolerate whitespace before the charset rule so folks can write code like this: I'm told this is one of the top compatability problems in China. Tests: fast/css/comment-before-charset-external.html fast/css/comment-before-charset.html fast/css/many-spaces-before-charset.html fast/css/space-before-charset-external.html fast/css/space-before-charset.html * css/CSSGrammar.y: 2009-10-16 Brian Weinstein Reviewed by Darin Adler. Fixes part of . Web Inspector should get human readable DOM Exceptions. Add a description field to ExceptionBase, and call it through reportException which allows the user/developer to get a more detailed and coherent error explanation through the Web Inspector. This only applies to exceptions that come from a script on the page when it is run. DOM Exceptions that come from the code run in the console, or DOM exceptions that are caught and logged will come in a future patch. Tests: inspector/uncaught-dom1-exception.html inspector/uncaught-dom3-exception.html inspector/uncaught-dom8-exception.html * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSDOMBinding.cpp: (WebCore::reportException): * bindings/js/JSExceptionBase.cpp: Added. (WebCore::toExceptionBase): * bindings/js/JSExceptionBase.h: Added. * dom/ExceptionBase.cpp: (WebCore::ExceptionBase::ExceptionBase): * dom/ExceptionBase.h: (WebCore::ExceptionBase::description): * dom/ExceptionCode.cpp: (WebCore::): (WebCore::getExceptionCodeDescription): * dom/ExceptionCode.h: 2009-10-16 Geoffrey Garen Build fix: forgot to check in this #include. * bridge/runtime_root.h: 2009-10-16 Simon Fraser Reviewed by Dan Bernstein. Transform layer gets stuck with the wrong transform after an animation ends Work around a CoreAnimation bug which causes an animated transform layer to end up with a stale transform. Test: compositing/animation/state-at-end-event-transform-layer.html * platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::bug7311367Workaround): (WebCore::GraphicsLayerCA::removeAnimationFromLayer): 2009-10-16 Simon Fraser Reviewed by Dan Bernstein. After running a transition with an end event listener, can't change the transform https://bugs.webkit.org/show_bug.cgi?id=30454 Fix an issue where, if a document had any listener for webkitTransitionEnd or webkitAnimationEnd, the animations would not get cleaned up correctly, which broke subsequent changes of transform. Now, we always clean up the animations right after queuing up the end events. Tests: animations/state-at-end-event.html transitions/move-after-transition.html * page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::onAnimationEnd): * page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::onAnimationEnd): 2009-10-15 Joseph Pecoraro Reviewed by Timothy Hatcher. Web Inspector: Handle the Enter Key in the Elements Tree Hierarchy https://bugs.webkit.org/show_bug.cgi?id=30428 TextNode => Edit Text Node Has Attributes => Edit First Attribute No Attributes => Start Editing New Attribute * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): handle the "Enter" key (WebInspector.ElementsTreeElement.prototype.set hovered): only add new attribute button on nodes with attributes (WebInspector.ElementsTreeElement.prototype._addNewAttribute): prevent moving backwards where there are no attributes (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): renamed to be clearer (WebInspector.ElementsTreeElement.prototype._startEditing): transition to the appropriate edit state for a tree element 2009-10-16 Adam Barth Reviewed by Eric Seidel. Fix header indent style for FrameLoader and friends https://bugs.webkit.org/show_bug.cgi?id=30430 * loader/FrameLoader.h: (WebCore::FrameLoader::frame): (WebCore::FrameLoader::policyChecker): (WebCore::FrameLoader::history): (WebCore::FrameLoader::notifier): (WebCore::FrameLoader::isLoadingMainResource): (WebCore::FrameLoader::documentLoader): (WebCore::FrameLoader::policyDocumentLoader): (WebCore::FrameLoader::provisionalDocumentLoader): (WebCore::FrameLoader::state): (WebCore::FrameLoader::client): (WebCore::FrameLoader::url): (WebCore::FrameLoader::isLoadingFromCachedPage): (WebCore::FrameLoader::committingFirstRealLoad): (WebCore::FrameLoader::committedFirstRealDocumentLoad): (WebCore::FrameLoader::creatingInitialEmptyDocument): * loader/HistoryController.h: (WebCore::HistoryController::currentItem): (WebCore::HistoryController::provisionalItem): * loader/PolicyCallback.h: (WebCore::PolicyCallback::request): * loader/PolicyChecker.h: (WebCore::PolicyChecker::loadType): (WebCore::PolicyChecker::setLoadType): (WebCore::PolicyChecker::delegateIsDecidingNavigationPolicy): (WebCore::PolicyChecker::delegateIsHandlingUnimplementablePolicy): * loader/RedirectScheduler.h: * loader/ResourceLoadNotifier.h: 2009-10-16 Steve Falkenburg Reviewed by Adam Roben. Add a Debug_All configuration to build entire stack as debug. Change Debug_Internal to: - stop using _debug suffix for all WebKit/Safari binaries - not use _debug as a DLL naming suffix - use non-debug C runtime lib. * WebCore.vcproj/QTMovieWin.vcproj: Add Debug_All configuration. * WebCore.vcproj/WebCore.make: Debug build in makefile should build Debug_All. * WebCore.vcproj/WebCore.sln: Add Debug_All configuration. * WebCore.vcproj/WebCore.submit.sln: Add Debug_All configuration. * WebCore.vcproj/WebCore.vcproj: Add Debug_All configuration. * WebCore.vcproj/WebCoreGenerated.vcproj: Renamed single configuration from "Release" to "all". 2009-10-16 Dimitri Glazkov No review, rolling out r49693, because it broke Chromium build. http://trac.webkit.org/changeset/49693 * WebCore.gyp/WebCore.gyp: * WebCore.gypi: 2009-10-16 Andrew Scherkus Reviewed by Eric Carlson. Updated media resource selection algorithm to reflect latest HTML 5 specification. Noticable changes: - Elements with no source should have their network state set to NETWORK_EMPTY as opposed to NETWORK_NO_SOURCE - Empty string ("") is now considered a valid URL resolving to the current page and will be loaded Tests: media/video-src-empty.html media/video-src-none.html https://bugs.webkit.org/show_bug.cgi?id=30407 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::selectMediaResource): Updated code and comments to match spec. 2009-10-16 Adam Barth Reviewed by Eric Seidel. Insecure plug-ins don't trigger mixed content https://bugs.webkit.org/show_bug.cgi?id=30431 Added the missing check. Test: http/tests/security/mixedContent/insecure-plugin-in-iframe.html * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadPlugin): 2009-10-16 Andrew Scherkus Reviewed by Eric Carlson. Set autobuffer to true and schedule load in V8 audio element constructor. https://bugs.webkit.org/show_bug.cgi?id=30448 Covered by existing tests. * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: (WebCore::CALLBACK_FUNC_DECL): Set autobuffer to true and schedule load. 2009-10-16 Andrew Scherkus Reviewed by Eric Seidel. Remove FIXME in RenderMediaControlsChromium as bug was fixed upstream. https://bugs.webkit.org/show_bug.cgi?id=30422 Covered by existing media layout tests. * rendering/RenderMediaControlsChromium.cpp: (WebCore::paintMediaSlider): Removed round() and FIXME. 2009-10-16 Andrew Scherkus Reviewed by Eric Seidel. Fix Chromium media controls to render a disabled play button when the element is unintialized. https://bugs.webkit.org/show_bug.cgi?id=30410 Covered by existing layout tests. * rendering/RenderMediaControlsChromium.cpp: (WebCore::paintMediaPlayButton): Include check for NETWORK_EMPTY to render disabled play button. 2009-10-16 Oliver Hunt Reviewed by Gavin Barraclough. Make typeinfo flags default to false https://bugs.webkit.org/show_bug.cgi?id=30372 Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames flag. * bindings/js/JSDOMWindowShell.h: (WebCore::JSDOMWindowShell::createStructure): * bindings/js/JSHTMLAllCollection.h: (WebCore::JSHTMLAllCollection::createStructure): * bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::createStructure): * bindings/scripts/CodeGeneratorJS.pm: * bridge/runtime_array.h: (JSC::RuntimeArray::createStructure): * bridge/runtime_object.h: (JSC::RuntimeObjectImp::createStructure): 2009-10-16 Steven Knight Reviewed by David Levin. https://bugs.webkit.org/show_bug.cgi?id=30447 Handle long link lines by building .idl-generated bindings in a separate webcore_bindings library target. Avoid Visual Studio dependency issues by building additional generated .cpp and .h files in a separate webcore_bindings_sources target. Chrome should still build and test successfully. * WebCore.gyp/WebCore.gyp: * WebCore.gypi: 2009-10-16 Simon Fraser Reviewed by Eric Carlson. Transform transitions that used to be accelerated are no longer so https://bugs.webkit.org/show_bug.cgi?id=30453 The change in r49633, to not run accelerated animations/transitions on layers that are not attached, broke accelerated transitions/animations in many cases where they start as soon as the page loads. This change reverts the code that tests for the GraphicsLayer being attached. No test, because it's not possible from a test to know whether a transition is accelerated or not. * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::startAnimation): (WebCore::RenderLayerBacking::startTransition): 2009-10-16 Kevin Ollivier wxMSW build fix, build the MSW source to get methods that use the MSW version of PlatformModuleVersion. * wscript: 2009-10-16 Adam Barth Unreviewed build fix. Add back MIMETypeRegistryChromium with the right casing. * platform/chromium/MIMETypeRegistryChromium.cpp: Added. (WebCore::MIMETypeRegistry::getMIMETypeForExtension): (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): (WebCore::MIMETypeRegistry::getMIMETypeForPath): (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType): (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType): (WebCore::MIMETypeRegistry::isJavaAppletMIMEType): (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): (WebCore::dummyHashSet): (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding): (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes): 2009-10-16 Adam Barth Reviewed by Darin Adler. MimeTypeRegistryChromium is mis-casen https://bugs.webkit.org/show_bug.cgi?id=30441 Change the case of MimeTypeRegistryChromium to match other platforms. * WebCore.gypi: * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp. * platform/chromium/MimeTypeRegistryChromium.cpp: Removed. 2009-10-16 Dimitri Glazkov Reviewed by Eric Seidel. Change EmptyPluginHalterClient in SVGImage to be non-static, to match changes made http://trac.webkit.org/changeset/49385. https://bugs.webkit.org/show_bug.cgi?id=30403 Run the following layout test sequence: LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t.svg LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t.svg LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t.svg LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b.svg LayoutTests/svg/W3C-SVG-1.1/struct-image-06-t.svg LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg LayoutTests/svg/W3C-SVG-1.1/struct-image-08-t.svg LayoutTests/svg/W3C-SVG-1.1/struct-image-09-t.svg LayoutTests/svg/W3C-SVG-1.1/struct-image-10-t.svg LayoutTests/svg/carto.net/scrollbar.svg LayoutTests/svg/carto.net/selectionlist.svg selectionlist.svg should not crash. * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::dataChanged): Made EmptyPluginHalterClient non-static. 2009-10-16 Victor Wang Reviewed by David Levin. Add beforeload event support to V8DOMWrapper https://bugs.webkit.org/show_bug.cgi?id=30413 LayoutTests/fast/dom/beforeload/frame-before-load.html * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::convertEventToV8Object): 2009-10-16 Adam Barth Reviewed by Darin Adler. MimeTypeRegistryChromium is mis-casen https://bugs.webkit.org/show_bug.cgi?id=30441 Change the case of MimeTypeRegistryChromium to match other platforms. * WebCore.gypi: * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp. * platform/chromium/MimeTypeRegistryChromium.cpp: Removed. 2009-10-16 Adam Barth Reviewed by Mark Rowe. Chrome doesn't set Content-Type for file upload when the file extension is not recognized https://bugs.webkit.org/show_bug.cgi?id=30433 Apparently, getMIMETypeForPath is supposed to return application/octet-stream when it doesn't have a better MIME type. * platform/chromium/MimeTypeRegistryChromium.cpp: (WebCore::MIMETypeRegistry::getMIMETypeForPath): 2009-10-16 Tor Arne Vestbø Pull out r49676 as it caused build breakges on Symbian * plugins/symbian/PluginViewSymbian.cpp: 2009-10-16 Tor Arne Vestbø Reviewed by Ariya Hidayat. Crash fix when loading NPAPI plugins on Qt/Mac There's no guarantee that the plist will be valid even if we ask the plugin to create it. Crash obverved with iGetter. * plugins/mac/PluginPackageMac.cpp: 2009-10-15 Stephen White Reviewed by David Levin. Fix for Chromium/skia's implementation of canvas's isPointInPath(). https://bugs.webkit.org/show_bug.cgi?id=30402 Covered by LayoutTests/fast/canvas/pointInPath.html. * platform/graphics/skia/SkiaUtils.cpp: (WebCore::SkPathContainsPoint): 2009-10-15 Adam Barth Reviewed by Darin Adler. Factor ResourceLoadNotifier out of FrameLoader https://bugs.webkit.org/show_bug.cgi?id=30379 These methods have virtually no interaction with the rest of FrameLoader. * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * dom/Document.cpp: (WebCore::Document::resourceRetrievedByXMLHttpRequest): * loader/FrameLoader.cpp: (WebCore::FrameLoader::FrameLoader): (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): (WebCore::ResourceLoadNotifier::ResourceLoadNotifier): (WebCore::ResourceLoadNotifier::activeDocumentLoader): (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest): (WebCore::ResourceLoadNotifier::willSendRequest): (WebCore::ResourceLoadNotifier::didReceiveResponse): (WebCore::ResourceLoadNotifier::didReceiveData): (WebCore::ResourceLoadNotifier::didFailToLoad): (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest): (WebCore::FrameLoader::sendRemainingDelegateMessages): (WebCore::FrameLoader::requestFromDelegate): (WebCore::ResourceLoadNotifier::didFinishLoad): (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge): (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge): (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest): (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): * loader/FrameLoader.h: (WebCore::FrameLoader::notifier): * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::receivedError): * loader/ResourceLoadNotifier.cpp: Added. (WebCore::ResourceLoadNotifier::ResourceLoadNotifier): (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge): (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge): (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest): (WebCore::ResourceLoadNotifier::willSendRequest): (WebCore::ResourceLoadNotifier::didReceiveResponse): (WebCore::ResourceLoadNotifier::didReceiveData): (WebCore::ResourceLoadNotifier::didFinishLoad): (WebCore::ResourceLoadNotifier::didFailToLoad): (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest): (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest): (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): (WebCore::ResourceLoadNotifier::activeDocumentLoader): * loader/ResourceLoadNotifier.h: Added. * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willSendRequest): (WebCore::ResourceLoader::didReceiveResponse): (WebCore::ResourceLoader::didReceiveData): (WebCore::ResourceLoader::didFinishLoadingOnePart): (WebCore::ResourceLoader::didFail): (WebCore::ResourceLoader::didCancel): (WebCore::ResourceLoader::didReceiveAuthenticationChallenge): (WebCore::ResourceLoader::didCancelAuthenticationChallenge): 2009-10-15 Roland Steiner Reviewed by Darin Fisher. Bug 30427 - Remove unneeded methods in ChromiumDataObject (https://bugs.webkit.org/show_bug.cgi?id=30427) Remove no longer needed methods from ChromiumDataObject. No new tests (no functional change) * platform/chromium/ChromiumDataObject.h: 2009-10-16 Yael Aharon Reviewed by Tor Arne Vestbø. [Qt] Need a way to inform the application when a Netscape plugin is created or deleted https://bugs.webkit.org/show_bug.cgi?id=30179 Inform the application when a plugin is created or destroyed, but only if the application registered for these notifications. * plugins/symbian/PluginViewSymbian.cpp: (WebCore::PluginView::platformStart): (WebCore::PluginView::platformDestroy): 2009-10-16 Shu Chang Reviewed by Eric Seidel. Default language translation should be determined by locale settings, e.g., "en-US". https://bugs.webkit.org/show_bug.cgi?id=29653 Test: fast/js/navigator-language.html * platform/qt/Localizations.cpp: (WebCore::defaultLanguage): 2009-10-16 Tor Arne Vestbø Reviewed by Ariya Hidayat. Crash fix when loading NPAPI plugins on Qt/Mac There's no guarantee that the plist will be valid even if we ask the plugin to create it. Crash obverved with iGetter. * plugins/mac/PluginPackageMac.cpp: 2009-10-15 Stephen White Reviewed by David Levin. Fix for Chromium/skia's implementation of canvas's isPointInPath(). https://bugs.webkit.org/show_bug.cgi?id=30402 Covered by LayoutTests/fast/canvas/pointInPath.html. * platform/graphics/skia/SkiaUtils.cpp: (WebCore::SkPathContainsPoint): 2009-10-15 Adam Barth Reviewed by Darin Adler. Factor ResourceLoadNotifier out of FrameLoader https://bugs.webkit.org/show_bug.cgi?id=30379 These methods have virtually no interaction with the rest of FrameLoader. * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * dom/Document.cpp: (WebCore::Document::resourceRetrievedByXMLHttpRequest): * loader/FrameLoader.cpp: (WebCore::FrameLoader::FrameLoader): (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): (WebCore::ResourceLoadNotifier::ResourceLoadNotifier): (WebCore::ResourceLoadNotifier::activeDocumentLoader): (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest): (WebCore::ResourceLoadNotifier::willSendRequest): (WebCore::ResourceLoadNotifier::didReceiveResponse): (WebCore::ResourceLoadNotifier::didReceiveData): (WebCore::ResourceLoadNotifier::didFailToLoad): (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest): (WebCore::FrameLoader::sendRemainingDelegateMessages): (WebCore::FrameLoader::requestFromDelegate): (WebCore::ResourceLoadNotifier::didFinishLoad): (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge): (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge): (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest): (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): * loader/FrameLoader.h: (WebCore::FrameLoader::notifier): * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::receivedError): * loader/ResourceLoadNotifier.cpp: Added. (WebCore::ResourceLoadNotifier::ResourceLoadNotifier): (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge): (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge): (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest): (WebCore::ResourceLoadNotifier::willSendRequest): (WebCore::ResourceLoadNotifier::didReceiveResponse): (WebCore::ResourceLoadNotifier::didReceiveData): (WebCore::ResourceLoadNotifier::didFinishLoad): (WebCore::ResourceLoadNotifier::didFailToLoad): (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest): (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest): (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): (WebCore::ResourceLoadNotifier::activeDocumentLoader): * loader/ResourceLoadNotifier.h: Added. * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willSendRequest): (WebCore::ResourceLoader::didReceiveResponse): (WebCore::ResourceLoader::didReceiveData): (WebCore::ResourceLoader::didFinishLoadingOnePart): (WebCore::ResourceLoader::didFail): (WebCore::ResourceLoader::didCancel): (WebCore::ResourceLoader::didReceiveAuthenticationChallenge): (WebCore::ResourceLoader::didCancelAuthenticationChallenge): 2009-10-15 Roland Steiner Reviewed by Darin Fisher. Bug 30427 - Remove unneeded methods in ChromiumDataObject (https://bugs.webkit.org/show_bug.cgi?id=30427) Remove no longer needed methods from ChromiumDataObject. No new tests (no functional change) * platform/chromium/ChromiumDataObject.h: 2009-10-15 Daniel Bates No review, rolling out r49644. http://trac.webkit.org/changeset/49644 We need to think about this change some more. See bug #30418 for more details. * page/XSSAuditor.cpp: (WebCore::XSSAuditor::canEvaluate): (WebCore::XSSAuditor::canEvaluateJavaScriptURL): (WebCore::XSSAuditor::canCreateInlineEventListener): (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): (WebCore::XSSAuditor::canLoadObject): (WebCore::XSSAuditor::canSetBaseElementURL): (WebCore::XSSAuditor::findInRequest): * page/XSSAuditor.h: 2009-10-14 Jon Honeycutt Add SPI to determine whether a node is a halted plug-in. Part of Halted plug-ins should restart on mouseover https://bugs.webkit.org/show_bug.cgi?id=30151 Reviewed by Darin Adler. * plugins/PluginView.cpp: (WebCore::PluginView::PluginView): Initialize m_isHalted. * plugins/PluginView.h: (WebCore::PluginView::isHalted): Return m_isHalted. * plugins/win/PluginViewWin.cpp: (WebCore::PluginView::halt): Set m_isHalted to true. (WebCore::PluginView::restart): clear m_isHalted. 2009-10-15 Zoltan Horvath Reviewed by Oliver Hunt. [Qt] Build fix for QtWebKit after r49649. Change JSC::HasNonDefaultMark to OverridesMarkChildren in createStructure function. * bridge/qt/qt_runtime.h: (JSC::Bindings::QtRuntimeMethod::createStructure): 2009-10-15 Pavel Feldman Not reviewed - build fix. Web Inspector: add file missing in r49648 * inspector/front-end/TestController.js: Added. (WebInspector.TestController): (WebInspector.TestController.prototype.waitUntilDone): (WebInspector.TestController.prototype.notifyDone): (WebInspector.evaluateForTestInFrontend): 2009-10-15 Oliver Hunt Reviewed by Darin Adler. Make typeinfo flags default to false https://bugs.webkit.org/show_bug.cgi?id=30372 Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc * bindings/js/JSDOMBinding.h: (WebCore::DOMObjectWithGlobalPointer::createStructure): (WebCore::DOMConstructorObject::createStructure): * bindings/js/JSDOMWindowShell.h: (WebCore::JSDOMWindowShell::createStructure): * bindings/js/JSHTMLAllCollection.h: (WebCore::JSHTMLAllCollection::createStructure): * bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::createStructure): * bindings/scripts/CodeGeneratorJS.pm: * bridge/qt/qt_runtime.h: (JSC::Bindings::QtRuntimeMethod::createStructure): * bridge/runtime_method.h: (JSC::RuntimeMethod::createStructure): 2009-10-15 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: introduce test controller with waitUntilDone on frontend side. https://bugs.webkit.org/show_bug.cgi?id=30400 * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * inspector/front-end/TestController.js: Added. (WebInspector.TestController): (WebInspector.TestController.prototype.waitUntilDone): (WebInspector.TestController.prototype.notifyDone): (WebInspector.evaluateForTestInFrontend): * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.html: * inspector/front-end/inspector.js: 2009-10-15 Daniel Bates Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=27895 Fixes an issue in which injecting an inline event handler whose value ends in a single-line JavaScript comment can bypass the XSSAuditor. Similarly fixes this issue with respect to the HTML Base element, HTML Object element, inline and external script tags, and JavaScript multi-line variants of all of these attacks. Tests: http/tests/security/xssAuditor/base-href-comment.html http/tests/security/xssAuditor/iframe-javascript-url-comment.html http/tests/security/xssAuditor/img-onerror-HTML-comment.html http/tests/security/xssAuditor/img-onerror-comment.html http/tests/security/xssAuditor/object-tag-comment.html http/tests/security/xssAuditor/script-tag-comment-HTML-entity.html http/tests/security/xssAuditor/script-tag-comment.html http/tests/security/xssAuditor/script-tag-with-source-comment.html * page/XSSAuditor.cpp: Added constant minAttackLength. (WebCore::XSSAuditor::canEvaluate): (WebCore::XSSAuditor::canEvaluateJavaScriptURL): (WebCore::XSSAuditor::canCreateInlineEventListener): (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): (WebCore::XSSAuditor::canLoadObject): (WebCore::XSSAuditor::canSetBaseElementURL): (WebCore::XSSAuditor::findInRequest): Added parameter context. Only looks at up to minAttackLength of script code plus context (if any). * page/XSSAuditor.h: 2009-10-08 Adam Langley Reviewed by Eric Seidel. Currently, Skia clip paths are 1-bit. This patch makes our path clipping anti-aliased for non-canvas drawing. http://code.google.com/p/chromium/issues/detail?id=5927 https://bugs.webkit.org/show_bug.cgi?id=28820 http://www.imperialviolet.org/2009/09/02/anti-aliased-clipping.html Already covered by layout tests. New baselines will be needed in the Chromium tree. (Reland. First landed in r49329, reverted in r49330 due to Windows build break) * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::clip): * platform/graphics/GraphicsContext.h: * platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::canvasClip): * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::canvasClip): * platform/graphics/haiku/GraphicsContextHaiku.cpp: (WebCore::GraphicsContext::canvasClip): * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::canvasClip): * platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::addInnerRoundedRectClip): (WebCore::GraphicsContext::clip): (WebCore::GraphicsContext::canvasClip): (WebCore::GraphicsContext::clipPath): * platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::clipPathAntiAliased): (PlatformContextSkia::restore): (PlatformContextSkia::applyAntiAliasedClipPaths): * platform/graphics/skia/PlatformContextSkia.h: * platform/graphics/win/GraphicsContextWin.cpp: (WebCore::GraphicsContext::canvasClip): * platform/graphics/wince/GraphicsContextWince.cpp: (WebCore::GraphicsContext::canvasClip): * platform/graphics/wx/GraphicsContextWx.cpp: (WebCore::GraphicsContext::canvasClip): 2009-10-15 Eric Carlson Reviewed by Simon Fraser. No way to mute/unmute a movie in full screen video mode * WebCore.Video.exp: Export muted and setMute. 2009-10-15 Simon Fraser Reviewed by Dan Bernstein. Transitions fail to run sometimes https://bugs.webkit.org/show_bug.cgi?id=26770 Fix an issue where we could attempt to start accelerated animations or transitions on GraphicsLayer that were not rooted (because of visibility:hidden), which would leave the AnimationController's m_waitingForResponse flag in a state that killed subsequent software transitions. * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): (WebCore::AnimationControllerPrivate::endAnimationUpdate): (WebCore::AnimationControllerPrivate::receivedStartTimeResponse): (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList): (WebCore::AnimationControllerPrivate::startTimeResponse): * page/animation/AnimationControllerPrivate.h: Make some methods non-inline for ease of debugging (these are not hot methods). Rename m_waitingForAResponse to m_waitingForResponse. * platform/graphics/GraphicsLayer.h: * platform/graphics/GraphicsLayer.cpp: (WebCore::GraphicsLayer::hasAncestor): New method to report whether the receiver has the given layer as an ancestor. Used for checking whether a layer is rooted. * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::startAnimation): (WebCore::RenderLayerBacking::startTransition): Don't try to start accelerated animations or transitions on non-rooted GraphicsLayers. 2009-10-15 Alexander Pavlov Reviewed by Pavel Feldman. Refactor ProfilesPanel to support multiple profile types Data describing different profile types are now stored in distinct objects. https://bugs.webkit.org/show_bug.cgi?id=30332 * WebCore.vcproj/WebCore.vcproj: * inspector/front-end/ProfileView.js: (WebInspector.CPUProfileView.profileCallback): (WebInspector.CPUProfileView): (WebInspector.CPUProfileView.prototype._sortData): (WebInspector.CPUProfileType): (WebInspector.CPUProfileType.prototype.get buttonTooltip): (WebInspector.CPUProfileType.prototype.get buttonStyle): (WebInspector.CPUProfileType.prototype.buttonClicked): (WebInspector.CPUProfileType.prototype.setRecordingProfile): (WebInspector.CPUProfile): (WebInspector.CPUProfile.prototype.get title): (WebInspector.CPUProfile.prototype.get uid): (WebInspector.CPUProfile.prototype.get head): (WebInspector.CPUProfile.prototype.createView): (WebInspector.CPUProfile.prototype.viewForProfile): * inspector/front-end/ProfilesPanel.js: (WebInspector.ProfileType): (WebInspector.ProfileType.prototype.get buttonTooltip): (WebInspector.ProfileType.prototype.get buttonStyle): (WebInspector.ProfileType.prototype.get buttonCaption): (WebInspector.ProfileType.prototype.get id): (WebInspector.ProfileType.prototype.get name): (WebInspector.ProfileType.prototype.buttonClicked): (WebInspector.ProfilesPanel): (WebInspector.ProfilesPanel.prototype.get statusBarItems.clickHandler): (WebInspector.ProfilesPanel.prototype.get statusBarItems): (WebInspector.ProfilesPanel.prototype.reset): (WebInspector.ProfilesPanel.prototype.registerProfileType): (WebInspector.ProfilesPanel.prototype._makeKey): (WebInspector.ProfilesPanel.prototype.addProfileHeader): (WebInspector.ProfilesPanel.prototype.showProfile): (WebInspector.ProfilesPanel.prototype.getProfileType): (WebInspector.ProfilesPanel.prototype.showProfileForURL): (WebInspector.ProfilesPanel.prototype.updateProfileTypeButtons): (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink): (WebInspector.ProfilesPanel.prototype.get searchableViews): (WebInspector.ProfilesPanel.prototype._updateInterface): * inspector/front-end/inspector.js: (WebInspector._createPanels): (WebInspector.documentClick.followLink): (WebInspector.documentClick): (WebInspector.addProfileHeader): (WebInspector.setRecordingProfile): (WebInspector.linkifyStringAsFragment): (WebInspector.showProfileForURL): 2009-10-15 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Enable inspector layout tests. https://bugs.webkit.org/show_bug.cgi?id=30014 * inspector/InspectorController.cpp: (WebCore::InspectorController::evaluateForTestInFrontend): 2009-10-15 Philippe Normand Reviewed by Gustavo Noronha. [GStreamer] READY state doesn't mean "enough data" https://bugs.webkit.org/show_bug.cgi?id=30003 STATE_READY means MediaPlayer::HaveNothing * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::updateStates): 2009-10-15 Philippe Normand Reviewed by Gustavo Noronha. https://bugs.webkit.org/show_bug.cgi?id=30002 implement cancelLoad * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::cancelLoad): 2009-10-15 Sebastian Dröge Reviewed by Gustavo Noronha. https://bugs.webkit.org/show_bug.cgi?id=30353 Fix race condition, leading to a deadlock * platform/graphics/gtk/VideoSinkGStreamer.cpp: (webkit_video_sink_timeout_func): (webkit_video_sink_render): (unlock_buffer_mutex): (webkit_video_sink_unlock): (webkit_video_sink_unlock_stop): (webkit_video_sink_stop): (webkit_video_sink_start): (webkit_video_sink_class_init): Fix race condition in unlock/render that would lead to deadlocks. 2009-10-15 Sebastian Dröge Reviewed by Gustavo Noronha. https://bugs.webkit.org/show_bug.cgi?id=30374 Check if caps are valid before parsing them * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::duration): Check if caps are valid before parsing them in ::naturalSize(). This prevents assertions if the natural size should be calculated before the video caps are negotiated. 2009-10-15 Philippe Normand Reviewed by Gustavo Noronha. https://bugs.webkit.org/show_bug.cgi?id=30006 [GStreamer] Unnecessary checks for Messages types in callbacks refactored gst message callbacks into a single one * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mediaPlayerPrivateMessageCallback): (WebCore::do_gst_init): (WebCore::MediaPlayerPrivate::duration): * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 2009-10-15 Shu Chang Reviewed by Adele Peterson. Anchor elements should be mouse focusable regardless isLink flag. https://bugs.webkit.org/show_bug.cgi?id=26856 * html/HTMLAnchorElement.cpp: * html/HTMLAnchorElement.h: 2009-10-15 Nikolas Zimmermann Not reviewed. Sort XCode project file. * WebCore.xcodeproj/project.pbxproj: 2009-10-15 Yury Semikhatsky Reviewed by Dave Hyatt. Return correct shorthand property name for background-repeat-x, background-repeat-y, background-position-x, background-position-y, -webkit-mask-position-x, -webkit-mask-position-y, -webkit-mask-repeat-x, -webkit-mask-repeat-y. https://bugs.webkit.org/show_bug.cgi?id=28972 Test: fast/backgrounds/repeat/background-repeat-shorthand.html * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): 2009-10-14 Mikhail Naganov Reviewed by Pavel Feldman. Web Inspector: Migrate profiles to the injected script-based schema. https://bugs.webkit.org/show_bug.cgi?id=30328 * bindings/js/JSInspectorBackendCustom.cpp: * bindings/v8/custom/V8CustomBinding.h: * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::getProfileHeaders): (WebCore::InspectorBackend::getProfile): * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::addProfile): (WebCore::InspectorController::getProfileHeaders): (WebCore::InspectorController::getProfile): (WebCore::InspectorController::createProfileHeader): * inspector/InspectorController.h: * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addProfileHeader): (WebCore::InspectorFrontend::didGetProfileHeaders): (WebCore::InspectorFrontend::didGetProfile): * inspector/InspectorFrontend.h: * inspector/JavaScriptProfileNode.cpp: (WebCore::ProfileNodeClass): * inspector/front-end/ProfileView.js: (WebInspector.ProfileView.profileCallback): (WebInspector.ProfileView): (WebInspector.ProfileView.prototype._mouseDownInDataGrid): (WebInspector.ProfileView.prototype._assignParentsInProfile): * inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.addProfileHeader): * inspector/front-end/inspector.js: (WebInspector.addProfileHeader): 2009-10-14 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Create and update frontend script objects only when web inspector is visible. https://bugs.webkit.org/show_bug.cgi?id=30376 * inspector/InspectorController.cpp: (WebCore::InspectorController::addConsoleMessage): (WebCore::InspectorController::populateScriptObjects): (WebCore::InspectorController::pruneResources): (WebCore::InspectorController::didCommitLoad): (WebCore::InspectorController::didLoadResourceFromMemoryCache): (WebCore::InspectorController::identifierForInitialRequest): (WebCore::InspectorController::mainResourceFiredDOMContentEvent): (WebCore::InspectorController::mainResourceFiredLoadEvent): (WebCore::InspectorController::willSendRequest): (WebCore::InspectorController::didReceiveResponse): (WebCore::InspectorController::didReceiveContentLength): (WebCore::InspectorController::didFinishLoading): (WebCore::InspectorController::didFailLoading): (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): (WebCore::InspectorController::scriptImported): (WebCore::InspectorController::didOpenDatabase): (WebCore::InspectorController::didUseDOMStorage): (WebCore::InspectorController::evaluateForTestInFrontend): 2009-10-15 Joseph Pecoraro Fix Windows build. * dom/Document.idl: 2009-10-14 Joseph Pecoraro Reviewed by Adam Barth. [HTML5] Add document.head https://bugs.webkit.org/show_bug.cgi?id=30232 Test is fast/dom/document-head.html * dom/Document.idl: added readonly attribute head 2009-10-14 Matt Mueller Reviewed by Darin Adler. Check FNonNeg after the unit switch to avoid valgrind uninitialised conditional reference in WebCore::CSSParser::validUnit. See http://crbug.com/20939. https://bugs.webkit.org/show_bug.cgi?id=30347 https://bugs.webkit.org/show_bug.cgi?id=22772 Covered by running LayoutTests/fast/css/invalid-percentage-property.html under valgrind. * css/CSSParser.cpp: (WebCore::CSSParser::validUnit): 2009-10-14 Adam Barth Reviewed by Sam Weinig. Move scrolling code from FrameLoader to FrameView https://bugs.webkit.org/show_bug.cgi?id=30370 This code is about controlling the Frame's view, not about loading stuff into the frame. * loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedParsing): (WebCore::FrameLoader::scrollToAnchor): * page/FrameView.cpp: (WebCore::FrameView::scrollToFragment): (WebCore::FrameView::scrollToAnchor): * page/FrameView.h: 2009-10-14 Oliver Hunt Reviewed by Geoff Garen. Make typeinfo flags default to false https://bugs.webkit.org/show_bug.cgi?id=30372 Part 1. Reverse the HasStandardGetOwnPropertySlot flag. * bindings/js/JSDOMBinding.h: (WebCore::DOMObjectWithGlobalPointer::createStructure): (WebCore::DOMConstructorObject::createStructure): * bindings/js/JSDOMWindowShell.h: (WebCore::JSDOMWindowShell::createStructure): * bindings/js/JSHTMLAllCollection.h: (WebCore::JSHTMLAllCollection::createStructure): * bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::createStructure): * bindings/scripts/CodeGeneratorJS.pm: * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::createStructure): * bridge/runtime_array.h: (JSC::RuntimeArray::createStructure): * bridge/runtime_method.h: (JSC::RuntimeMethod::createStructure): * bridge/runtime_object.h: (JSC::RuntimeObjectImp::createStructure): 2009-10-14 Adam Barth Reviewed by Darin Adler. [XSSAuditor] Add an exception for local files https://bugs.webkit.org/show_bug.cgi?id=30352 Reduce XSS auditor false positives by always letting pages load scripts from their own host. We don't actually know of any false positives that this prevents, but it seems like a good idea. One subtly is that we don't add this exception for scripts that have a query string because (1) URLs with query strings are more apt to confuse servers and (2) it is much less common to load scripts with a query string. Tests: http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html http/tests/security/xssAuditor/script-tag-with-source-same-host.html * page/XSSAuditor.cpp: (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): 2009-10-14 Nikolas Zimmermann Reviewed by George Staikos. Kill virtual contextElement() method spread all over SVG code https://bugs.webkit.org/show_bug.cgi?id=30183 Remove virtual contextElement() function from all SVG*Element classes, as all animated properties live in the SVG*Element classes now instead of the SVGFitToViewBox / SVGURIReference / SVGExternalResourcesRequired subclasses. This is a first step to working animVal support. More patches will follow that depend on this change. Remove "This file is part of the KDE project" from several files, change my old mail adress wildfox -> zimmermann, and remove vim modelines on all files I touched. No change in functionality, thus no new tests. * svg/SVGAElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. * svg/SVGAltGlyphElement.h: Remove virtual contextElement() method. * svg/SVGAnimatedProperty.h: (WebCore::::synchronize): (WebCore::::startAnimation): (WebCore::::stopAnimation): * svg/SVGAnimationElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. * svg/SVGCircleElement.h: Ditto. * svg/SVGClipPathElement.h: Ditto. * svg/SVGCursorElement.h: Ditto. * svg/SVGDefsElement.h: Ditto. * svg/SVGEllipseElement.h: Ditto. * svg/SVGExternalResourcesRequired.h: Remove pure-virtual contextElement() method. * svg/SVGFEImageElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. * svg/SVGFELightElement.h: Remove virtual contextElement() method. * svg/SVGFEMergeNodeElement.h: Ditto. * svg/SVGFilterElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. * svg/SVGFilterPrimitiveStandardAttributes.h: Remove virtual contextElement() method. * svg/SVGFitToViewBox.cpp: (WebCore::SVGFitToViewBox::parseViewBox): Add Document* parameter - we used to fetch the Document pointer from the context element. (WebCore::SVGFitToViewBox::parseMappedAttribute): Ditto. * svg/SVGFitToViewBox.h: Remove pure-virtual contextElement() method. * svg/SVGFontElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. * svg/SVGForeignObjectElement.h: Ditto. * svg/SVGGElement.h: Ditto. * svg/SVGGradientElement.h: Ditto. * svg/SVGImageElement.h: Ditto. * svg/SVGLineElement.h: Ditto. * svg/SVGMPathElement.h: Ditto. Fix license indention. * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute(). * svg/SVGMarkerElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. * svg/SVGMaskElement.h: Ditto. * svg/SVGPathElement.h: Ditto. * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute(). * svg/SVGPatternElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::updateAnimatedSVGAttribute): synchronizeProperty<...>() has been renamed to PropertySynchronizer<...>::synchronize(). * svg/SVGPolyElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. * svg/SVGRectElement.h: Ditto. * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute(). * svg/SVGSVGElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. * svg/SVGScriptElement.h: Ditto. * svg/SVGSwitchElement.h: Ditto. * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute(). * svg/SVGSymbolElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. * svg/SVGTRefElement.h: Remove virtual contextElement() method. * svg/SVGTextContentElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. * svg/SVGTextPathElement.h: Remove virtual contextElement() method. * svg/SVGUseElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. * svg/SVGViewElement.cpp: (WebCore::SVGViewElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute(). * svg/SVGViewElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class. * svg/SVGViewSpec.cpp: (WebCore::SVGViewSpec::setViewBoxString): Pass document() to SVGFitToViewBox::parseMappedAttribute(). (WebCore::SVGViewSpec::parseViewSpec): Ditto. * svg/SVGViewSpec.h: Devirtualize contextElement() method, it's the only place where contextElement() remains needed. 2009-10-14 Dirk Schulze Reviewed by Nikolas Zimmermann. SVG Masking with wrong offset [https://bugs.webkit.org/show_bug.cgi?id=30325] SVGMaskElement moves the mask image graphics context to the wrong location. In objectBoundingBoxMode the maskDestRect gets translated. This transformation is not used in the later calculation. Fix by consistenly calculating the translation offsets from the final mask destination rect. Test: svg/custom/mask-with-default-value.svg * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::drawMaskerContent): 2009-10-14 Kevin Decker Rubberstamped by Jon Honeycutt. Export a few more showSubstituteImage() related methods. * WebCore.base.exp: * WebCore.xcodeproj/project.pbxproj: 2009-10-14 Evan Martin Reviewed by Darin Adler. Stringify CSS units manually (without printf) to make the formatting locale-insensitive and obey CSS spec with respect to large values. https://bugs.webkit.org/show_bug.cgi?id=18994 * css/CSSPrimitiveValue.cpp: (WebCore::appendCSSDouble): (WebCore::formatWithUnits): (WebCore::CSSPrimitiveValue::cssText): 2009-10-14 Mark Seaborn Reviewed by Darin Adler. Check error return value in Perl build script https://bugs.webkit.org/show_bug.cgi?id=30316 * css/makevalues.pl: Die if gperf fails. 2009-10-14 Dirk Schulze Reviewed by Nikolas Zimmermann. SVG wrong filterRegions for userSpaceOnUse and percentage values [https://bugs.webkit.org/show_bug.cgi?id=30330] Some clean-up of the SVG filter calculation code. This clean-up also fixes the problem with percentage and userSpaceInUse mode. Test: svg/filters/subRegion-in-userSpace.svg * platform/graphics/filters/FilterEffect.cpp: (WebCore::FilterEffect::FilterEffect): * platform/graphics/filters/FilterEffect.h: * rendering/SVGRenderSupport.cpp: (WebCore::SVGRenderBase::filterBoundingBoxForRenderer): * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::buildFilter): (WebCore::SVGFilterElement::canvasResource): * svg/SVGFilterElement.h: * svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): * svg/graphics/SVGResourceFilter.cpp: (WebCore::SVGResourceFilter::SVGResourceFilter): (WebCore::SVGResourceFilter::~SVGResourceFilter): (WebCore::SVGResourceFilter::addFilterEffect): (WebCore::SVGResourceFilter::prepareFilter): * svg/graphics/SVGResourceFilter.h: (WebCore::SVGResourceFilter::create): * svg/graphics/filters/SVGFilter.cpp: (WebCore::SVGFilter::SVGFilter): (WebCore::SVGFilter::calculateEffectSubRegion): (WebCore::SVGFilter::create): * svg/graphics/filters/SVGFilter.h: 2009-10-14 Chris Marrin The last change fixed the problem, removing diagnostic printfs. * platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::GraphicsContext3D): 2009-10-14 Kevin Ollivier CURL build fix for versions < 7.18. * platform/network/curl/ResourceHandleCurl.cpp: (WebCore::ResourceHandle::setDefersLoading): * platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::initializeHandle): 2009-10-14 Chris Marrin One more round of changes to figure out why the webgl tests are crashing on the build bot. Here I am trying to see if we can create a software renderer. I am also printing the found pixel formats. * platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::GraphicsContext3D): 2009-10-14 Yael Aharon Reviewed by Simon Hausmann. Enabling NPAPI plugin support on Qt Webkit for S60 platform https://bugs.webkit.org/show_bug.cgi?id=29302 Also implemented by Mahesh Kulkarni, Rohini Ananth and help from Norbert Lesr * WebCore.pro: Enabling ENABLE_NETSCAPE_PLUGIN_API for S60 and added S60 specific new plugin files to be compiled under symbian: macro * bridge/npapi.h: Added NPEvent and NPRegion definition for Symbian * plugins/PluginPackage.h: Added S60 specific plugin interface and plugin loader variables * plugins/PluginPackage.cpp: (WebCore::PluginPackage::unload): Added !PLATFORM(SYMBIAN) macro. Default implementation to be used only for non-symbian platform * plugins/PluginDatabase.cpp: Macro !SYMBIAN checking * plugins/PluginView.h: Add Symbian to platforms that support setNPWindowIfNeeded * plugins/PluginView.cpp: (WebCore::PluginView::setFrameRect): Add Symbian to platforms that call setNPWindowRect from setFrameRect Added folder 'symbian' which contains implementation files for S60 platform-specific NPAPI plugin functionality, under /plugins folder * plugins/symbian * plugins/symbian/npinterface.h: Plugin Interface to be implemented by S60 NPAPI plugins * plugins/symbian/PluginContainerSymbian.h: * plugins/symbian/PluginContainerSymbian.cpp: * plugins/symbian/PluginDatabaseSymbian.cpp: * plugins/symbian/PluginViewSymbian.cpp: * plugins/symbian/PluginPackageSymbian.cpp: 2009-10-14 Chris Marrin More changes to figure out why the webgl tests are crashing on the build bot. * platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::GraphicsContext3D): 2009-10-14 Victor Wang Reviewed by David Hyatt. Round non-integer line height values. Change webkit to rounding non-integer line height values instead of truncating them. This fixes a layout test failure on Windows and matches the calculation in IE and Firefox. https://bugs.webkit.org/show_bug.cgi?id=24434 Test: fast/css/line-height-rounding.html fast/forms/textarea-scrollbar-height.htm * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::computeLogicalBoxHeights): * rendering/RenderBR.cpp: (WebCore::RenderBR::lineHeight): * rendering/style/RenderStyle.h: (WebCore::InheritedFlags::computedLineHeight): 2009-10-13 Kelly Norton Reviewed by Pavel Feldman. Removes the persistent setting for InspectorTimelineAgent and renames timeline related interfaces to be more consistent with the JavaScript profiler. * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::startTimelineProfiler): (WebCore::InspectorBackend::stopTimelineProfiler): (WebCore::InspectorBackend::timelineProfilerEnabled): * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::setFrontendProxyObject): (WebCore::InspectorController::startTimelineProfiler): (WebCore::InspectorController::stopTimelineProfiler): (WebCore::InspectorController::timelineProfilerEnabled): * inspector/InspectorController.h: * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::timelineProfilerWasStarted): (WebCore::InspectorFrontend::timelineProfilerWasStopped): * inspector/InspectorFrontend.h: * inspector/front-end/TimelineAgent.js: (WebInspector.timelineProfilerWasStarted): (WebInspector.timelineProfilerWasStopped): 2009-10-01 Yong Li Reviewed by Adele Peterson. Fix crash when loading invalid image data https://bugs.webkit.org/show_bug.cgi?id=29980 * rendering/RenderImage.cpp: (WebCore::RenderImage::setImageSizeForAltText): 2009-10-09 Stephen White Reviewed by Eric Seidel. Fix for NULL ptr deref in canvas's toDataURL(). https://bugs.webkit.org/show_bug.cgi?id=30254 Test: fast/canvas/canvas-toDataURL-crash.html * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::toDataURL): 2009-10-14 Pavel Feldman Not reviewed, reverting r49558 since it broke profiler tests. https://bugs.webkit.org/show_bug.cgi?id=30328 * bindings/js/JSInspectorBackendCustom.cpp: * bindings/v8/custom/V8CustomBinding.h: * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::getProfileHeaders): (WebCore::InspectorBackend::getProfile): * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::addProfile): (WebCore::InspectorController::getProfileHeaders): (WebCore::InspectorController::getProfile): (WebCore::InspectorController::createProfileHeader): * inspector/InspectorController.h: * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addProfileHeader): (WebCore::InspectorFrontend::didGetProfileHeaders): (WebCore::InspectorFrontend::didGetProfile): * inspector/InspectorFrontend.h: * inspector/JavaScriptProfileNode.cpp: (WebCore::ProfileNodeClass): * inspector/front-end/ProfileView.js: (WebInspector.ProfileView.profileCallback): (WebInspector.ProfileView): (WebInspector.ProfileView.prototype._mouseDownInDataGrid): (WebInspector.ProfileView.prototype._assignParentsInProfile): * inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.addProfileHeader): * inspector/front-end/inspector.js: (WebInspector.addProfileHeader): 2009-10-13 Holger Hans Peter Freyther Reviewed by Simon Hausmann. ImageDecoderQt: Minor tweaks to the decoder - Only cache the data when we start to use it. - Start with a repetition count of none for normal images. - Do not use canRead as this will trigger parsing of the full image - Cope with a GIF failing to decode the first frame, do not set m_failed to true if decoding the first frame failed - Inform the QImageReader about the format that was detected - Always create a ImageDecoderQt when when we have more than four byte. * platform/graphics/qt/ImageDecoderQt.cpp: (WebCore::ImageDecoder::create): Always create QImageReader for a significant speed up (WebCore::ImageDecoderQt::ImageDecoderQt): Initialize m_repetitionCount to cAnimationNone (WebCore::ImageDecoderQt::setData): Only call ImageDecoder::setData when everything has been received (WebCore::ImageDecoderQt::isSizeAvailable): Do not check m_failed twice. (WebCore::ImageDecoderQt::filenameExtension): Convert from QByteArray to String (WebCore::ImageDecoderQt::frameBufferAtIndex): Check for m_failed before trying to decode (WebCore::ImageDecoderQt::internalDecodeSize): Fail if the size is QSize() (WebCore::ImageDecoderQt::forceLoadEverything): Handle the case were decoding the first frame fails * platform/graphics/qt/ImageDecoderQt.h: Change the m_format type 2009-10-14 Mikhail Naganov Reviewed by Pavel Feldman. Web Inspector: Migrate profiles to the injected script-based schema. https://bugs.webkit.org/show_bug.cgi?id=30328 * bindings/js/JSInspectorBackendCustom.cpp: * bindings/v8/custom/V8CustomBinding.h: * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::getProfileHeaders): (WebCore::InspectorBackend::getProfile): * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::addProfile): (WebCore::InspectorController::getProfileHeaders): (WebCore::InspectorController::getProfile): (WebCore::InspectorController::createProfileHeader): * inspector/InspectorController.h: * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addProfileHeader): (WebCore::InspectorFrontend::didGetProfileHeaders): (WebCore::InspectorFrontend::didGetProfile): * inspector/InspectorFrontend.h: * inspector/JavaScriptProfileNode.cpp: (WebCore::ProfileNodeClass): * inspector/front-end/ProfileView.js: (WebInspector.ProfileView.profileCallback): (WebInspector.ProfileView): (WebInspector.ProfileView.prototype._mouseDownInDataGrid): (WebInspector.ProfileView.prototype._assignParentsInProfile): * inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.addProfileHeader): * inspector/front-end/inspector.js: (WebInspector.addProfileHeader): 2009-10-13 Yury Semikhatsky Reviewed by Pavel Feldman. Don't collect call frame properties until they're needed for completion. https://bugs.webkit.org/show_bug.cgi?id=30334 * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.completions): * inspector/front-end/InjectedScript.js: (InjectedScript.getCompletions): if call frame id is specified and the expression is empty collect frame properties. (InjectedScript.CallFrameProxy.prototype._wrapScopeChain): don't send call frame properties until they're needed. * inspector/front-end/ScriptsPanel.js: >>>>>>> .r49765 2009-10-13 Yongjun Zhang Reviewed by Ariya Hidayat. https://bugs.webkit.org/show_bug.cgi?id=29106 [Qt] make CachedResourceHandle.h compile in winscw Symbian compiler. Don't inline constructor CachedResourceHandle(R*) to stop winscw compiler aggressively resolve inheritance of class R. The winscw compiler bug is reported at: https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812. The change should be reverted when the above bug is fixed in winscw compiler. * loader/CachedResourceHandle.h: (WebCore::::CachedResourceHandle): 2009-10-13 Dimitri Glazkov No review, rolling out r49554, because it broke Win and Chromium builds. http://trac.webkit.org/changeset/49554 * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText): 2009-10-13 Evan Martin Reviewed by Adam Barth. Stringify CSS units manually (without printf) to make the formatting locale-insensitive and obey CSS spec with respect to large values. https://bugs.webkit.org/show_bug.cgi?id=18994 * css/CSSPrimitiveValue.cpp: (WebCore::appendCSSDouble): (WebCore::formatWithUnits): (WebCore::CSSPrimitiveValue::cssText): 2009-10-13 Evan Martin Reviewed by David Levin. Make grippy lines vertical on horizontal scrollbars in Linux Chrome. While we're rebaselining scrollbars, fix an off by one in the vertical scrollbar rendering too. https://bugs.webkit.org/show_bug.cgi?id=30319 Tests: this is covered by every pixel test involving scrollbars. * platform/chromium/ScrollbarThemeChromiumLinux.cpp: (WebCore::ScrollbarThemeChromiumLinux::paintThumb): 2009-10-13 Sam Weinig Reviewed by David Hyatt. Fix issue where clientX and clientY on MouseEvents were wrong when the page was zoomed and scrolled. Test: fast/events/clientXY-in-zoom-and-scroll.html * dom/MouseRelatedEvent.cpp: (WebCore::contentsX): Take page zoom into account. (WebCore::contentsY): Ditto. 2009-10-13 Dave Hyatt Reviewed by Adam Roben. Change the order of arguments on some of the user stylesheet/script functions. Split the removal functions out into separate ones for scripts and stylesheets. * WebCore.base.exp: * page/PageGroup.cpp: (WebCore::PageGroup::addUserScriptToWorld): (WebCore::PageGroup::addUserStyleSheetToWorld): (WebCore::PageGroup::removeUserScriptFromWorld): (WebCore::PageGroup::removeUserStyleSheetFromWorld): (WebCore::PageGroup::removeUserScriptsFromWorld): (WebCore::PageGroup::removeUserStyleSheetsFromWorld): * page/PageGroup.h: (WebCore::PageGroup::userScripts): (WebCore::PageGroup::userStyleSheets): 2009-10-13 Evan Martin Reviewed by Dmitry Titov. Chrome's "Skia" theme paints select controls backwards in RTL. https://bugs.webkit.org/show_bug.cgi?id=30320 Test: fast/text/international/bidi-menulist.html (The test is about something else, but it includes RTL selects.) * rendering/RenderThemeChromiumSkia.cpp: (WebCore::RenderThemeChromiumSkia::paintMenuList): flip the arrow position in RTL case. 2009-10-13 Dmitry Titov Reviewed by Alexey Proskuryakov. https://bugs.webkit.org/show_bug.cgi?id=30318 ScriptExecutionContext is not anymore needed to create an EventListener - remove old code. It's a followup to r48884. It removed the need to pass the ScritpExecutionContext into EventListener constructor but did not remove the code pulling ScriptExecutionContext. Tests: Test adds event listener to a DocumentType Node which is created without a document and then dispatches the event after attaching a node to the tree. Event should fire when node is attached to the tree. * fast/events/add-event-without-document-expected.txt: Added. * fast/events/add-event-without-document.html: Added. All changes in files below are the same - remove the code that calls EventTarget::scriptExecutionContext and checks it for NULL. * bindings/js/JSAbstractWorkerCustom.cpp: (WebCore::JSAbstractWorker::addEventListener): (WebCore::JSAbstractWorker::removeEventListener): * bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::addEventListener): (WebCore::JSDOMApplicationCache::removeEventListener): * bindings/js/JSDesktopNotificationsCustom.cpp: (WebCore::JSNotification::addEventListener): (WebCore::): * bindings/js/JSEventSourceCustom.cpp: (WebCore::JSEventSource::addEventListener): (WebCore::JSEventSource::removeEventListener): * bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::addEventListener): (WebCore::JSMessagePort::removeEventListener): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::addEventListener): (WebCore::JSNode::removeEventListener): * bindings/js/JSSVGElementInstanceCustom.cpp: (WebCore::JSSVGElementInstance::addEventListener): (WebCore::JSSVGElementInstance::removeEventListener): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::addEventListener): (WebCore::JSXMLHttpRequest::removeEventListener): * bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::addEventListener): (WebCore::JSXMLHttpRequestUpload::removeEventListener): * bindings/js/JSWebSocketCustom.cpp: (WebCore::JSWebSocket::addEventListener): (WebCore::JSWebSocket::removeEventListener): 2009-10-13 Drew Wilson Reviewed by David Levin. Enable SHARED_WORKERS for Chromium https://bugs.webkit.org/show_bug.cgi?id=30289 Cleaned up bitrot in SharedWorker V8 bindings. * WebCore.gypi: Removed default implementation of SharedWorkerRepository so Chromium can provide its own. * bindings/v8/DerivedSourcesAllInOne.cpp: Added V8SharedWorkerContext.cpp. * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::getTemplate): Added case statements for SHAREDWORKER and SHAREDWORKERCONTEXT. * bindings/v8/V8Index.cpp: Now includes V8SharedWorkerContext.h to allow supporting SharedWorkers. * bindings/v8/V8Index.h: Added definition for SHAREDWORKERCONTEXT wrapper. * bindings/v8/WorkerContextExecutionProxy.cpp: Added includes for SharedWorker.h and SharedWorkerContext.h. * bindings/v8/custom/V8CustomBinding.h: Reorganized Worker field indexes to be clearer, and fixed mismatch in worker field index. Also added field indexes for SharedWorkers. * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::ACCESSOR_RUNTIME_ENABLER): Added runtime enabler for the SharedWorker constructor. * bindings/v8/custom/V8SharedWorkerCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): Cleaned up bitrot (various APIs have changed since this file was written). * page/DOMWindow.idl: Added EnabledAtRuntime flag to window.SharedWorker. 2009-10-13 Alexey Proskuryakov Reviewed by Brady Eidson. https://bugs.webkit.org/show_bug.cgi?id=30345 HTTP tests for credential handling fail on Tiger We cannot prevent NSURLConnection from doing its credentil handling on Tiger anyway; so let it do its work without intervention. Once again, we pass explicitly passed credentials in URL, fixing regressions from Safari 3. * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): (WebCore::ResourceHandle::receivedCredential): 2009-10-13 Roland Steiner Reviewed by Adam Barth. Bug 28964 - [Chromium] ChromiumDataObject should have getter/setter interface Reworked and added to the getter/setter interface in ChromiumDataObject: - added contains...() methods to just query the state - added containsValid...URL() methods for URL data members - removed takeFileNames() as this was too type-dependent - changed return type of fileNames() to Vector - added interface methods to allow appending to and iteration over file names No new tests (no functional behavior changed). * platform/chromium/ChromiumDataObject.h: (WebCore::ChromiumDataObject::containsMainURL): (WebCore::ChromiumDataObject::containsValidMainURL): (WebCore::ChromiumDataObject::containsMainURLTitle): (WebCore::ChromiumDataObject::containsTextPlain): (WebCore::ChromiumDataObject::containsTextHTML): (WebCore::ChromiumDataObject::containsHTMLBaseURL): (WebCore::ChromiumDataObject::containsValidHTMLBaseURL): (WebCore::ChromiumDataObject::containsContent): (WebCore::ChromiumDataObject::containsContentFileExtension): (WebCore::ChromiumDataObject::containsContentFileName): (WebCore::ChromiumDataObject::setContentFileName): (WebCore::ChromiumDataObject::containsFileNames): (WebCore::ChromiumDataObject::fileNames): (WebCore::ChromiumDataObject::clearFileNames): (WebCore::ChromiumDataObject::countFileNames): (WebCore::ChromiumDataObject::fileNameAt): (WebCore::ChromiumDataObject::setFileNames): (WebCore::ChromiumDataObject::appendToFileNames): (WebCore::ChromiumDataObject::popFileName): 2009-10-13 Simon Fraser Temporary debugging changes to figure out why the webgl tests are crashing on the build bot. * platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::GraphicsContext3D): 2009-10-13 Simon Fraser Reviewed by Dan Bernstein. Visibility:visible inside a compositing layer doesn't make the element visible https://bugs.webkit.org/show_bug.cgi?id=30339 When deciding if a layer had any renderable content, RenderLayerBacking::paintIntoLayer() only consulted hasVisibleContent(), which does not take into a account child layers which may be visible. We also have to consult hasVisibleDescendant() as well. Test: compositing/compositing-visible-descendant.html * rendering/RenderLayer.h: (WebCore::RenderLayer::hasVisibleDescendant): * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintIntoLayer): 2009-10-13 Laszlo Gombos Reviewed by Simon Hausmann. Refactor ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH https://bugs.webkit.org/show_bug.cgi?id=30278 Move the definition of ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH from the make system into common code. Enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH if NETSCAPE_PLUGIN_API support is not enabled. Remove notImplemented() from PluginPackageNone.cpp and PluginDataNone.cpp make them just empty functions. * GNUmakefile.am: * WebCore.pro: * plugins/PluginDataNone.cpp: (WebCore::PluginData::initPlugins): (WebCore::PluginData::refresh): * plugins/PluginPackageNone.cpp: (WebCore::PluginPackage::determineQuirks): (WebCore::PluginPackage::fetchInfo): (WebCore::PluginPackage::load): 2009-10-13 Alexey Proskuryakov Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=30150 REGRESSION: Crash when accessing clipboardData.types Test: editing/pasteboard/crash-accessing-clipboardData-types.html * platform/mac/ClipboardMac.mm: (WebCore::addHTMLClipboardTypesForCocoaType): The String class doesn't have operator bool, it's operator NSString* that is invoked instead, and it converts null strings to non-null @"". 2009-10-13 Drew Wilson Reviewed by Dimitri Glazkov. window attributes (like localStorage) that are disabled at runtime are still visible https://bugs.webkit.org/show_bug.cgi?id=30240 Adding codegen/bindings to support runtime disabling of attributes. No new tests (only supported by chrome currently) * bindings/scripts/CodeGeneratorV8.pm: Refactored the guts of GenerateBatchedAttributeData into a separate GenerateSingleBatchedAttribute with a passed-in indentation level to allow generating a single BatchedAttribute struct. Added support for the EnabledAtRuntime extended attribute, which generates a call to the appropriate XXXXEnabled() API before adding the attribute to the instance. * bindings/v8/V8Proxy.cpp: (WebCore::batchConfigureAttributes): Refactored attribute setting code into a common inline routine. * bindings/v8/V8Proxy.h: (WebCore::configureAttribute): Inline function which configures a single attribute given a BatchedAttribute struct. * bindings/v8/custom/V8CustomBinding.h: Added (DECLARE_)ACCESSOR_RUNTIME_ENABLER to allow enabling attributes at runtime. * bindings/v8/custom/V8DOMWindowCustom.cpp: Added code to enable window.Audio only if MediaPlayer.isAvailable() == true * page/DOMWindow.idl: Added [EnabledAtRuntime] extended attribute to the Audio attribute. 2009-10-13 Michelangelo De Simone Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=27457 Added support for static validation on type=email input elements as per HTML5 specs: http://www.whatwg.org/specs/web-apps/current-work/#e-mail-state Test: fast/forms/ValidityState-typeMismatch-email.html * html/ValidityState.cpp: (WebCore::ValidityState::typeMismatch): ValidityState.typeMismatch performs validation on type=email input elements now. (WebCore::ValidityState::isValidEmailAddress): simple validation method * html/ValidityState.h: 2009-10-13 Dmitry Titov Reviewed by Adam Barth. Event listeners installed on a window object returned from window.open() don't work https://bugs.webkit.org/show_bug.cgi?id=28716 Tests: http/tests/security/window-events-clear-domain.html http/tests/security/window-events-clear-port.html http/tests/security/window-events-pass.html * dom/Document.cpp: Split code of Document::clear() in a way to avoid removing all window event handlers when implicitOpen is called. It is called in 2 cases - on committing loaded content (no need to clean handlers) and on document.open() (needs to remove handlers). (WebCore::Document::open): in addition to calling implicitOpen it also removes window event handlers, to preserve the behavior of document.open(). (WebCore::Document::implicitOpen): includes the part of removed Document::clear() that does not remove window event handlers. * dom/Document.h: Removed clear(). * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): add check to avoid removing window event handlers if we transition from temporary empty document to a loaded one. (WebCore::FrameLoader::didOpenURL): Remove closeURL() which was called twice when loading. (WebCore::FrameLoader::finishedLoadingDocument): add closeURL() to compensate for change above. 2009-10-13 Brian Weinstein Reviewed by Pavel Feldman. Fix a leak in the inspector by calling didRemoveNode with an error code when it fails, instead of returning from the Backend. * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::removeNode): * inspector/front-end/ElementsTreeOutline.js: 2009-10-13 Brian Weinstein Reviewed by Timothy Hatcher. Fixes . Web Inspector: Should be able to delete nodes from the Elements Tree. When the delete key is pressed and a element is selected in the tree, the element should be deleted from the Elements Tree and the DOM. * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::removeNode): * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::didRemoveNode): * inspector/InspectorFrontend.h: * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype._updateModifiedNodes): * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): 2009-10-13 Brian Weinstein Reviewed by Timothy Hatcher. Fix REGRESSION(49479): Mouseover on resources graph doesn't show timings. Set pointer-events: none on the new overlay so mouseover events are passed to the resources graph so we can show timings. * inspector/front-end/inspector.css: 2009-10-13 Girish Ramakrishnan Reviewed by Simon Hausmann. [Qt] Plugins : Remove all traces of winId. Use ownerWidget() instead. This is a bug for two reasons: 1. Everytime we use winId(), we end up creating a native widget. This causes an unnecessary copy of contents from the backing store to the native widget. 2. Neither windowed nor windowless plugins require the winId of the QWebView or QGraphicsView. Introduce ownerWidget() which returns a QWidget * without creating a native widget (as opposed to QWidget::find(winId)). https://bugs.webkit.org/show_bug.cgi?id=30170 * platform/qt/PlatformScreenQt.cpp: (WebCore::screenDepthPerComponent): * platform/qt/PopupMenuQt.cpp: (WebCore::PopupMenu::show): * platform/qt/QWebPageClient.h: * plugins/qt/PluginViewQt.cpp: (WebCore::setSharedXEventFields): (WebCore::PluginView::initXEvent): (WebCore::PluginView::getValue): (WebCore::PluginView::platformStart): 2009-10-13 Gustavo Noronha Silva Unreviewed build system fix. Typo in a filename. * GNUmakefile.am: 2009-10-12 Alexander Pavlov Reviewed by Timothy Hatcher. Alter profile link format to enable multiple profile types https://bugs.webkit.org/show_bug.cgi?id=30253 The new profile URL includes the profile type along with the profile title and uid. * inspector/InspectorController.cpp: (WebCore::InspectorController::addProfileFinishedMessageToConsole): (WebCore::InspectorController::addStartProfilingMessageToConsole): * inspector/front-end/inspector.js: (WebInspector.documentClick.followLink): (WebInspector.documentClick): (WebInspector.linkifyStringAsFragment): 2009-10-12 Alexander Pavlov Reviewed by Timothy Hatcher. Fix same-named profiles grouping in the Profiles panel. The tree node re-parenting while adding a new group node was broken. https://bugs.webkit.org/show_bug.cgi?id=30299 * inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.addProfile): 2009-10-12 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Enforce async interaction between inspector controller and frontend. https://bugs.webkit.org/show_bug.cgi?id=30300 * inspector/front-end/inspector.js: (WebInspector.dispatch.delayDispatch): (WebInspector.dispatch): 2009-10-12 Xiaomei Ji Reviewed by Sam Weinig. Fix issue caretRangeFromPoint() returns wrong result for a zoomed and scrolled page. https://bugs.webkit.org/show_bug.cgi?id=30034 * dom/Document.cpp: (WebCore::Document::elementFromPoint): calculate the correct point relative to document when the page is zoomed and scrolled. (WebCore::Document::caretRangeFromPoint): calculate the correct point relative to document when the page is zoomed and scrolled. 2009-10-12 Fumitoshi Ukai Reviewed by Sam Weinig. JavaScript bindings of WebSocket addEventListener/removeEventListener https://bugs.webkit.org/show_bug.cgi?id=29841 Test: fast/websockets/websocket-event-target.html * bindings/js/JSWebSocketCustom.cpp: (WebCore::JSWebSocket::addEventListener): (WebCore::JSWebSocket::removeEventListener): * bindings/v8/custom/V8CustomBinding.h: * bindings/v8/custom/V8WebSocketCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): * websockets/WebSocket.idl: 2009-10-12 Sam Weinig Reviewed by Darin Adler. Fix for https://bugs.webkit.org/show_bug.cgi?id=29078 Add a mechanism to blacklist certain codecs. Initially, just blacklist UTF-7 as HTML5 encourages. * platform/text/TextEncodingRegistry.cpp: (WebCore::pruneBlacklistedCodecs): (WebCore::buildBaseTextCodecMaps): (WebCore::extendTextCodecMaps): 2009-10-09 Dave Hyatt Reviewed by Darin Adler. Add support for the beforeload event to frames. Complete support of the beforeload event by making sure its wrapper gets properly constructed (so that the URL field of the event can be accessed). Add support for the Objective-C wrapper class as well. Added fast/dom/beforeload/frame-before-load.html * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/objc/DOMEvents.mm: (kitClass): * dom/BeforeLoadEvent.h: (WebCore::BeforeLoadEvent::isBeforeLoadEvent): * dom/Event.cpp: (WebCore::Event::isBeforeLoadEvent): * dom/Event.h: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::parseMappedAttribute): * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadWithDocumentLoader): 2009-10-12 Dan Bernstein Reviewed by Simon Fraser. Fix Reproducible crash at RenderObject::localToAbsolute() Test: fast/dynamic/position-absolute-to-fixed-crash.html The crash was caused by stale positioned objects lists following an object transitioning from being absolutely position to being fixed positioned. * rendering/RenderBox.cpp: (WebCore::RenderBox::styleWillChange): In case of a transition between absolute and fixed position, mark the parent as having a child needing layout, so that this object will get inserted into its new container's positioned objects list. * rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange): Changed a condition to cover this transition, so that this object gets removed from its current container's positioned objects list. 2009-10-12 Kenneth Rohde Christiansen Reviewed by Simon Hausmann. Add a palette() method that is needed by our RenderTheme. * platform/qt/QWebPageClient.h: 2009-10-12 Dirk Schulze Reviewed by Nikolas Zimmermann. SVG Gradients can't handle percentage values in userSpaceOnUse mode [https://bugs.webkit.org/show_bug.cgi?id=30286] Fixed *GradientAttributes to take SVGLength instead of double. This casues the problem, that we can't calculate the correct size of a gradient on userSpaceOnUse mode with percentage values. Test: svg/custom/gradient-userSpaceOnUse-with-percentage.svg * svg/LinearGradientAttributes.h: (WebCore::LinearGradientAttributes::LinearGradientAttributes): (WebCore::LinearGradientAttributes::x1): (WebCore::LinearGradientAttributes::y1): (WebCore::LinearGradientAttributes::x2): (WebCore::LinearGradientAttributes::y2): (WebCore::LinearGradientAttributes::setX1): (WebCore::LinearGradientAttributes::setY1): (WebCore::LinearGradientAttributes::setX2): (WebCore::LinearGradientAttributes::setY2): * svg/RadialGradientAttributes.h: (WebCore::RadialGradientAttributes::RadialGradientAttributes): (WebCore::RadialGradientAttributes::cx): (WebCore::RadialGradientAttributes::cy): (WebCore::RadialGradientAttributes::r): (WebCore::RadialGradientAttributes::fx): (WebCore::RadialGradientAttributes::fy): (WebCore::RadialGradientAttributes::setCx): (WebCore::RadialGradientAttributes::setCy): (WebCore::RadialGradientAttributes::setR): (WebCore::RadialGradientAttributes::setFx): (WebCore::RadialGradientAttributes::setFy): * svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::buildGradient): (WebCore::SVGLinearGradientElement::collectGradientProperties): * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::buildGradient): (WebCore::SVGRadialGradientElement::collectGradientProperties): 2009-10-12 Brian Weinstein Reviewed by Timothy Hatcher. Fixes . Web Inspector: DOM Content and Load lines in Resources are unclear what they mean. Add tooltip text to the Load event and DOM Content event lines through a new layer that allows these lines to be on top of the view. * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition): * inspector/front-end/inspector.css: 2009-10-12 Dimitri Glazkov No review, rolling out r49429, because it broke layout tests. http://trac.webkit.org/changeset/49429 * bindings/v8/V8AbstractEventListener.cpp: (WebCore::V8AbstractEventListener::~V8AbstractEventListener): 2009-10-12 Dirk Schulze Reviewed by Eric Seidel. SVG - crash on feMerge when input not available [https://bugs.webkit.org/show_bug.cgi?id=30297] Make a early return in SVGFEMergeElement if the needed filter effect doesn't exist. Test: svg/filters/feMerge-wrong-input.svg * svg/SVGFEMergeElement.cpp: (WebCore::SVGFEMergeElement::build): 2009-10-12 Chris Marrin Reviewed by Oliver Hunt. Added automatic flush before compositing https://bugs.webkit.org/show_bug.cgi?id=30236 This causes image to always render correctly. In writing a testcase I needed to implement readPixels. This exposed a bug in reading back values from a CanvasArray subclass, so I fixed that as well. Now when you wrap a CanvasArray in a JSValue it actually wraps the specific subclass. To do this I need to add virtual methods to each CanvasArray subclass to determine the type and a custom toJS method for CanvasArray to create the proper wrapper. Test: fast/canvas/webgl/triangle.html * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSCanvasArrayCustom.cpp: (WebCore::toJS): * html/canvas/CanvasArray.h: (WebCore::CanvasArray::isByteArray): (WebCore::CanvasArray::isUnsignedByteArray): (WebCore::CanvasArray::isShortArray): (WebCore::CanvasArray::isUnsignedShortArray): (WebCore::CanvasArray::isIntArray): (WebCore::CanvasArray::isUnsignedIntArray): (WebCore::CanvasArray::isFloatArray): * html/canvas/CanvasArray.idl: * html/canvas/CanvasByteArray.h: (WebCore::CanvasByteArray::isByteArray): * html/canvas/CanvasFloatArray.h: (WebCore::CanvasFloatArray::isFloatArray): * html/canvas/CanvasIntArray.h: (WebCore::CanvasIntArray::isIntArray): * html/canvas/CanvasRenderingContext3D.cpp: (WebCore::CanvasRenderingContext3D::readPixels): * html/canvas/CanvasRenderingContext3D.h: * html/canvas/CanvasRenderingContext3D.idl: * html/canvas/CanvasShortArray.h: (WebCore::CanvasShortArray::isShortArray): * html/canvas/CanvasUnsignedByteArray.h: (WebCore::CanvasUnsignedByteArray::isUnsignedByteArray): * html/canvas/CanvasUnsignedIntArray.h: (WebCore::CanvasUnsignedIntArray::isUnsignedIntArray): * html/canvas/CanvasUnsignedShortArray.h: (WebCore::CanvasUnsignedShortArray::isUnsignedShortArray): * platform/graphics/GraphicsContext3D.h: * platform/graphics/mac/Canvas3DLayer.mm: (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]): * platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::readPixels): 2009-10-12 Sebastian Dröge Reviewed by Gustavo Noronha. https://bugs.webkit.org/show_bug.cgi?id=30307 Fix 0 sentinel for g_object_set() function call. * platform/graphics/gtk/DataSourceGStreamer.cpp: (webkit_data_src_uri_set_uri): 0 is passed as 32 bit value on x86-64 in vararg functions, but g_object_set() expects a 64 bit 0. This will cause crashes. 2009-10-12 Cameron McCormack Reviewed by Eric Seidel. Drop in="" from https://bugs.webkit.org/show_bug.cgi?id=29001 This makes have an effect, too. http://www.w3.org/2003/01/REC-SVG11-20030114-errata#feflood-attribute Test: svg/dom/feFlood-no-in1.html * svg/SVGFEFloodElement.cpp: (WebCore::SVGFEFloodElement::SVGFEFloodElement): (WebCore::SVGFEFloodElement::build): * svg/SVGFEFloodElement.h: * svg/SVGFEFloodElement.idl: * svg/graphics/filters/SVGFEFlood.cpp: (WebCore::FEFlood::FEFlood): (WebCore::FEFlood::create): * svg/graphics/filters/SVGFEFlood.h: 2009-10-12 Sebastian Dröge Reviewed by Gustavo Noronha. https://bugs.webkit.org/show_bug.cgi?id=29998 Scale video to completely fill the target surface while keeping the aspect ratio. This fixes displaying of the YouTube HTML5 sample website. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Scale video to completely fill the target surface, keep the aspect ratio and center it. 2009-10-12 Sebastian Dröge Reviewed by Gustavo Noronha. https://bugs.webkit.org/show_bug.cgi?id=29997 Fixes double memcpy of all rendered video frames. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mediaPlayerPrivateRepaintCallback): (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::duration): * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: * platform/graphics/gtk/VideoSinkGStreamer.cpp: (webkit_video_sink_timeout_func): (webkit_video_sink_dispose): (unlock_buffer_mutex): (webkit_video_sink_unlock): (marshal_VOID__MINIOBJECT): (webkit_video_sink_class_init): (webkit_video_sink_new): * platform/graphics/gtk/VideoSinkGStreamer.h: Directly pass the buffers up to the MediaPlayerPrivate::paint() method instead of rendering them first to an intermediate cairo surface. This should increase performance and peak memory usage. 2009-10-11 Daniel Bates Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=30242 Fixes an issue where JavaScript URLs that are URL-encoded twice can bypass the XSSAuditor. JavaScript URLs that are completed by method Document::completeURL have added URL-encoded characters such that a direct comparison with the URL-decoded outgoing HTTP parameters is not sufficient. Instead, the URL-decoded outgoing HTTP parameters must be URL-decoded before comparison. Tests: http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeIfJavaScriptURL): Modified to pass XSSAuditor the URL-decoded source code for the JavaScript URL. * page/XSSAuditor.cpp: (WebCore::isIllegalURICharacter): Minor syntactical change to the comment. (WebCore::XSSAuditor::CachingURLCanonicalizer::canonicalizeURL): Added parameter decodeURLEscapeSequencesTwice. (WebCore::XSSAuditor::canEvaluateJavaScriptURL): (WebCore::XSSAuditor::decodeURL): Ditto. (WebCore::XSSAuditor::findInRequest): Ditto. * page/XSSAuditor.h: (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer): Ditto. 2009-10-11 Dominic Cooney Reviewed by Adam Barth. Fixes a build break in the V8 bindings caused by revision 49420. https://bugs.webkit.org/show_bug.cgi?id=30294 Revision 49420 introduces an IDL-defined CanvasActiveInfo type. This causes a build break in the V8 bindings where CanvasGraphicsContext3D naively refers to CanvasActiveInfo as a non-ref type. * WebCore.gypi: Include CanvasActiveInfo.idl in build. * bindings/scripts/CodeGeneratorV8.pm: CanvasActiveInfo is a ref ptr type. * bindings/v8/DOMObjectsInclude.h: Include generated CanvasActiveInfo files. * bindings/v8/DerivedSourcesAllInOne.cpp: * bindings/v8/V8Index.cpp: * bindings/v8/V8Index.h: 2009-10-11 Collin Jackson Reviewed by Adam Barth. Log mixed content warnings to console https://bugs.webkit.org/show_bug.cgi?id=30290 * loader/FrameLoader.cpp: (WebCore::FrameLoader::checkIfDisplayInsecureContent): (WebCore::FrameLoader::checkIfRunInsecureContent): 2009-10-11 Søren Gjesse Reviewed by Adam Barth. [V8] Add a context scope in JS listener destructor. The destructor code uses the cotext. See http://crbug.com/24200. https://bugs.webkit.org/show_bug.cgi?id=30250 * bindings/v8/V8AbstractEventListener.cpp: (WebCore::V8AbstractEventListener::~V8AbstractEventListener): 2009-10-11 Lyon Chen Reviewed by Alexey Proskuryakov. Correct the position of #endif sentence inside WebCore::Document::finishedParsing(). https://bugs.webkit.org/show_bug.cgi?id=30244 This change requires no test case as it fix a compiling error. * dom/Document.cpp: (WebCore::Document::finishedParsing): 2009-10-11 Dominic Cooney Reviewed by Adam Barth. Sets a 500K stack limit for JavaScript workers in Chromium. https://bugs.webkit.org/show_bug.cgi?id=29797 Runaway recursion in JavaScript workers crashes the Chromium worker process on OS X. This is because V8's default stack limit is 512K on ia32 or 1M on x64, but the worker process runs workers on a thread with the OS X default stack size--512K. Because there are already some C+frames on the stack when V8 establishes its 512K default stack limit, and V8 doesn't precisely enforce the stack limit, runaway recursion in V8 workers overflows the OS stack and segfaults, killing the worker process. This is described in Chromium bug 21653 . This patch sets the V8 stack limit for worker JavaScript in Chromium to a more conservative 500K on all platforms. This allows some "headroom" for the C+stack in use when the limit is set up, and some "legroom" for the V8 helper functions which in practice briefly flout the V8 stack limit. Test: LayoutTests/fast/workers/use-machine-stack.html * bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::initV8IfNeeded): * bindings/v8/WorkerContextExecutionProxy.h: 2009-10-11 Kevin Ollivier wx build fix for wxMac 2.9, use wxGC API for measuring text. * platform/wx/wxcode/mac/carbon/fontprops.cpp: (GetTextExtent): 2009-10-10 Cameron McCormack Reviewed by Sam Weinig. Allow [Reflect] on SVG elements. https://bugs.webkit.org/show_bug.cgi?id=28936 Update the JS binding generators to reference SVGNames instead of HTMLNames, if [Reflect]ing an attribute on an SVG element. Make SVGElement::id use [Reflect]. Also make [Reflect] on an attribute with a setter exception work in ObjC bindings. Test: svg/dom/id-reflect.html * bindings/scripts/CodeGenerator.pm: Add a function to determine the appropriate C+namespace for attribute name constants. * bindings/scripts/CodeGeneratorObjC.pm: Generate ExceptionCode handling code for [Reflect] on an attribute with a setter exception. * bindings/scripts/CodeGeneratorCOM.pm: Generate "SVGNames" instead of "HTMLNames" when appropriate. * bindings/scripts/CodeGeneratorJS.pm: Ditto. * bindings/scripts/CodeGeneratorV8.pm: Ditto. * svg/SVGElement.cpp: Remove getter and setter methods for id. * svg/SVGElement.h: Ditto. * svg/SVGElement.idl: Add [Reflect] to id. 2009-10-10 Oliver Hunt Fix paths in xcode. * WebCore.xcodeproj/project.pbxproj: 2009-10-10 Oliver Hunt Reviewed by Eric Carlson. Implement getActiveAttrib and getActiveUniform https://bugs.webkit.org/show_bug.cgi?id=30276 Implements the getActiveAttrib and getActiveUniform APIs. Rather simple patch, adds CanvasActiveInfo definition and implementation and adds forwarding to the GraphicsContext3D. Test: fast/canvas/webgl/getActiveTest.html * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * html/canvas/CanvasActiveInfo.h: Added. (WebCore::CanvasActiveInfo::create): (WebCore::CanvasActiveInfo::name): (WebCore::CanvasActiveInfo::type): (WebCore::CanvasActiveInfo::size): (WebCore::CanvasActiveInfo::CanvasActiveInfo): * html/canvas/CanvasActiveInfo.idl: Added. * html/canvas/CanvasObject.h: (WebCore::CanvasObject::context): Need to make the context public as it is needed to ensure we don't provide a program from one context as an argument to another. * html/canvas/CanvasRenderingContext3D.cpp: (WebCore::CanvasRenderingContext3D::getActiveAttrib): (WebCore::CanvasRenderingContext3D::getActiveUniform): * html/canvas/CanvasRenderingContext3D.h: * html/canvas/CanvasRenderingContext3D.idl: * platform/graphics/GraphicsContext3D.h: * platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::getActiveAttrib): (WebCore::GraphicsContext3D::getActiveUniform): 2009-10-10 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Adding new attributes in Element Panel is counterintuitive. https://bugs.webkit.org/show_bug.cgi?id=30057 * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeOutline.prototype._onmousemove): (WebInspector.ElementsTreeElement.prototype.set hovered): (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton): 2009-10-10 Laszlo Gombos Reviewed by Holger Freyther. Build fix if Netscape plugin support is turned off https://bugs.webkit.org/show_bug.cgi?id=30275 In addition to fixing the build break with guards remove notImplemented() from PluginViewNone.cpp and make them just just be empty functions. * plugins/PluginView.cpp: (WebCore::PluginView::handleEvent): (WebCore::PluginView::PluginView): * plugins/PluginView.h: * plugins/PluginViewNone.cpp: (WebCore::PluginView::setFocus): (WebCore::PluginView::show): (WebCore::PluginView::hide): (WebCore::PluginView::paint): (WebCore::PluginView::handleKeyboardEvent): (WebCore::PluginView::handleMouseEvent): (WebCore::PluginView::setParent): (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::handlePostReadFile): (WebCore::PluginView::getValue): (WebCore::PluginView::getValueStatic): (WebCore::PluginView::invalidateRect): (WebCore::PluginView::invalidateRegion): (WebCore::PluginView::forceRedraw): (WebCore::PluginView::platformStart): (WebCore::PluginView::platformDestroy): (WebCore::PluginView::setParentVisible): (WebCore::PluginView::updatePluginWidget): 2009-10-10 Laszlo Gombos Unreviewed. [Qt] Build fix for QtWebKit after r49415. Add HistoryController.cpp to the build. * WebCore.pro: 2009-10-09 Darin Fisher Reviewed by Eric Seidel. [Chromium] KURLGoogle's protocolIs barfs on input containing hyphens https://bugs.webkit.org/show_bug.cgi?id=30262 This is not testable from WebKit since WebKit never uses the member function form of protocolIs with input that can be controlled from a web page. It always passes string literals lacking hyphens. * platform/KURLGoogle.cpp: (WebCore::lowerCaseEqualsASCII): Only assert if toASCIILower would transform the input character. 2009-10-10 Adam Barth Reviewed by Oliver Hunt. Move HistoryController to its own file https://bugs.webkit.org/show_bug.cgi?id=30272 Purely mechanical. * GNUmakefile.am: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * loader/FrameLoader.cpp: * loader/FrameLoader.h: * loader/HistoryController.cpp: Added. * loader/HistoryController.h: Added. 2009-10-09 Ryosuke Niwa Reviewed by Eric Seidel. ApplyStyleCommand removes presentational tags even when not necessary https://bugs.webkit.org/show_bug.cgi?id=28091 This patch updates implicitlyStyledElementShouldBeRemovedWhenApplyingStyle to return true (triggering removal of tag) only if the style implicitly added by the element is not present in the new style to apply. It also changes surroundNodeRangeWithElement so that it merges the surrounding element when possible. applyTextDecorationStyle is modified so that it does not add style span when the style attribute is empty. Test: editing/execCommand/toggle-style-3.html * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::shouldRemoveTextDecorationTag): Returns true if specified text decoration is not present in the style to apply (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): No longer returns true if the tag is used in new style (WebCore::ApplyStyleCommand::applyTextDecorationStyle): Does not add style-span when redundant (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): Merges the newly created element with the surrounding identical elements * editing/ApplyStyleCommand.h: 2009-10-09 Adam Barth Reviewed by Darin Adler. Factor HistoryController out of FrameLoader https://bugs.webkit.org/show_bug.cgi?id=30246 HistoryController is in charge of managing the current / previous / provisional HistoryItems. The split isn't perfect, but it's a place to start. I'll move HistoryController into its own file in another patch. * WebCore.base.exp: * loader/FrameLoader.cpp: (WebCore::HistoryController::HistoryController): (WebCore::HistoryController::~HistoryController): (WebCore::FrameLoader::FrameLoader): (WebCore::FrameLoader::closeURL): (WebCore::FrameLoader::begin): (WebCore::HistoryController::restoreDocumentState): (WebCore::HistoryController::setCurrentItem): (WebCore::HistoryController::setProvisionalItem): (WebCore::FrameLoader::loadURLIntoChildFrame): (WebCore::FrameLoader::canCachePageContainingThisFrame): (WebCore::FrameLoader::logCanCacheFrameDecision): (WebCore::FrameLoader::scrollToAnchor): (WebCore::FrameLoader::commitProvisionalLoad): (WebCore::FrameLoader::transitionToCommitted): (WebCore::FrameLoader::checkLoadCompleteForThisFrame): (WebCore::FrameLoader::didFirstLayout): (WebCore::HistoryController::updateForFrameLoadCompleted): (WebCore::FrameLoader::frameLoadCompleted): (WebCore::FrameLoader::detachFromParent): (WebCore::FrameLoader::receivedMainResourceError): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): (WebCore::HistoryController::addHistoryItemForFragmentScroll): (WebCore::FrameLoader::loadProvisionalItemFromCachedPage): (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent): (WebCore::HistoryController::createHistoryItem): (WebCore::FrameLoader::checkDidPerformFirstNavigation): (WebCore::HistoryController::addBackForwardItemClippedAtTarget): (WebCore::HistoryController::createHistoryItemTree): (WebCore::HistoryController::saveScrollPositionAndViewStateToItem): (WebCore::HistoryController::restoreScrollPositionAndViewState): (WebCore::HistoryController::invalidateCurrentItemCachedPage): (WebCore::HistoryController::saveDocumentState): (WebCore::FrameLoader::loadItem): (WebCore::HistoryController::urlsMatchItem): (WebCore::HistoryController::goToItem): (WebCore::HistoryController::recursiveGoToItem): (WebCore::HistoryController::childFramesMatchItem): (WebCore::HistoryController::updateForStandardLoad): (WebCore::HistoryController::updateForClientRedirect): (WebCore::HistoryController::updateForBackForwardNavigation): (WebCore::HistoryController::updateForReload): (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): (WebCore::HistoryController::updateForCommit): (WebCore::HistoryController::updateForAnchorScroll): (WebCore::HistoryController::saveDocumentAndScrollState): (WebCore::HistoryController::setCurrentItemTitle): (WebCore::FrameLoader::didChangeTitle): * loader/FrameLoader.h: (WebCore::HistoryController::current): (WebCore::HistoryController::provisional): (WebCore::FrameLoader::policyChecker): (WebCore::FrameLoader::history): (WebCore::FrameLoader::creatingInitialEmptyDocument): * page/Page.cpp: (WebCore::Page::goToItem): 2009-10-09 Alexey Proskuryakov Unreviewed - fixing an obvious typo in my previous check-in. https://bugs.webkit.org/show_bug.cgi?id=30260 REGRESSION: Logging out from SAP doesn't work Fixes existing tests (which I thought I had run the previous time). * platform/network/CredentialStorage.cpp: (WebCore::originsWithCredentials): Return the set by reference. 2009-10-09 David Levin Reviewed by Eric Seidel. [v8] Need change to V8WorkerContextEventListener::reportError signature to match the base class. https://bugs.webkit.org/show_bug.cgi?id=30264 The base class method changed in r48884. Test: fast/worker/worker-script-error.html * bindings/v8/V8WorkerContextEventListener.cpp: (WebCore::V8WorkerContextEventListener::reportError): * bindings/v8/V8WorkerContextEventListener.h: 2009-10-09 Alexey Proskuryakov Reviewed by Brady Eidson. https://bugs.webkit.org/show_bug.cgi?id=30260 REGRESSION: Logging out from SAP doesn't work Tests: http/tests/xmlhttprequest/logout.html http/tests/xmlhttprequest/re-login-async.html http/tests/xmlhttprequest/re-login.html Fix several issues with existing credential handling code. * platform/network/CredentialStorage.cpp: (WebCore::pathToDefaultProtectionSpaceMap): Changed the data structure to a simpler one. (WebCore::originsWithCredentials): The reason for two-stage lookup above was that we didn't want to iterate paths for origins that never had credentials associated with them. Changed to use a separate HashSet for this. (WebCore::pathToDefaultProtectionSpaceMap): The concept of default per-path credentials didn't match the spec very well. UAs are supposed to deduce protection space from an URL, and then use whichever credentials are known for this protection space. So, OriginToDefaultBasicCredentialMap is now PathToDefaultProtectionSpaceMap. (WebCore::protectionSpaceMapKeyFromURL): Factored out a helper that extracts a directory URL from a given URL. These directory URLs are what we use as keys in PathToDefaultProtectionSpaceMap. (WebCore::CredentialStorage::set): Updated for above changes. (WebCore::findDefaultProtectionSpaceForURL): Factored out code iterating path length to find a prefix in OriginToDefaultBasicCredentialMap. (WebCore::CredentialStorage::set): Another version of set() can update credentials for a URL default protection space. It does nothing if the given URL doesn't correspond to a known protection space. (WebCore::CredentialStorage::get): Renamed from getDefaultAuthenticationCredential. * platform/network/CredentialStorage.h: Made the distinction between methods that use a known protection space and those that deduce one from URL more clear. * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): Update credentials before starting the request for real. This makes the following pattern work: var req = new XMLHttpRequest("GET", "logout.html", "logout", "logout"); // wrong credentials req.send(""); req.abort(); Abort() is used here to avoid having UA present an auth dialog after getting a 401 response. Note that one cannot log in using the same method, because there isn't a known protection space for the URL yet in that case, so the added code has no effect. (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Use a correct persistence for calling receivedCredential(). This fixes logging in using an async XHR (withut abort(), of course), and matches sync case. (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Renamed getDefaultAuthenticationCredential() to get(). * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::start): (WebCore::WebCoreSynchronousLoader::load): Same changes as in Mac code. 2009-10-09 Enrica Casucci Reviewed by Adele Peterson. Undoing a indent removes text instead of it's formatting. https://bugs.webkit.org/show_bug.cgi?id=28722 Restored the behavior prior to http://trac.webkit.org/changeset/46143. This change implemented the indent command making simple DOM operation, without using moveParagraph which cause undo to be broken. Added editing/undo/undo-indent.html test. * editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): Restored. (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Merged changes. (WebCore::IndentOutdentCommand::indentIntoBlockquote): Restored. (WebCore::IndentOutdentCommand::indentRegion): Restored and added call to updateLayout to ensure TextIterator could correctly calculate the position starting from the index. * editing/IndentOutdentCommand.h: Restored. 2009-10-09 Jens Alfke Reviewed by Darin Adler. Optimization: Many StringImpl transformations are no-ops and should just return 'this' https://bugs.webkit.org/show_bug.cgi?id=30186 Optimized StringImpl methods lower(), stripWhiteSpace() and simplifyWhiteSpace() to detect no-ops and return this instead of creating a new instance. Empirical testing shows that the majority of calls to these methods are no-ops, making this worthwhile even if (in the case of lower()) the non-no-op case is slightly slowed. Upper() is very rarely a no-op, so it wasn't worthwhile to optimize it. * platform/text/StringImpl.cpp: (WebCore::StringImpl::lower): (WebCore::StringImpl::upper): Just add a comment explaining why this wasn't optimized (WebCore::StringImpl::stripWhiteSpace): (WebCore::StringImpl::simplifyWhiteSpace): 2009-10-09 Dirk Schulze Reviewed by Oliver Hunt. SVG Filter feGaussianBlur implementation is missing [https://bugs.webkit.org/show_bug.cgi?id=28141] This is the implementation of GaussianBlur filter for SVG. There is already a test for feGaussianBlur Test: svg/W3C-SVG-1.1/filters-gauss-01-b-w3c.svg Test: svg/filters/feGaussianBlur.svg * platform/graphics/filters/FilterEffect.cpp: (WebCore::FilterEffect::FilterEffect): * platform/graphics/filters/FilterEffect.h: (WebCore::FilterEffect::isAlphaImage): (WebCore::FilterEffect::setIsAlphaImage): * platform/graphics/filters/SourceAlpha.cpp: (WebCore::SourceAlpha::apply): * svg/graphics/filters/SVGFEGaussianBlur.cpp: (WebCore::boxBlur): (WebCore::FEGaussianBlur::apply): 2009-10-09 Philippe Normand Reviewed by Gustavo Noronha. [GTK] QoS support in the video sink https://bugs.webkit.org/show_bug.cgi?id=29959 Removed the async buffer queue from the sink. Synchronize the render method of the sink using a g_timeout_add() combined with a gcond triggered when the buffer has been rendered. Also fixed the video sink reference handling in the player, now that the idle is not there anymore to mess up things. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::createGSTPlayBin): * platform/graphics/gtk/VideoSinkGStreamer.cpp: (webkit_video_sink_init): (webkit_video_sink_timeout_func): (webkit_video_sink_render): (webkit_video_sink_dispose): (unlock_buffer_mutex): (webkit_video_sink_unlock): (webkit_video_sink_stop): (webkit_video_sink_class_init): 2009-10-09 Dirk Schulze Reviewed by Nikolas Zimmermann. feMorphology filter is not implemented [https://bugs.webkit.org/show_bug.cgi?id=5863] Adds SVGFEMorphologyElement, for the SVG filter. It also fixes a bug with the attribute "operator". It was only accessible via "_operator" on JavaScript. Test: svg/dom/operatorAttribute.xhtml * DerivedSources.cpp: * DerivedSources.make: * GNUmakefile.am: * WebCore.SVG.Filters.exp: * WebCore.gypi: * WebCore.pro: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOM.mm: (WebCore::createElementClassMap): * bindings/objc/DOMSVG.h: * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorObjC.pm: * page/DOMWindow.idl: * svg/SVGAllInOne.cpp: * svg/SVGFECompositeElement.idl: * svg/SVGFEMorphologyElement.cpp: Added. (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement): (WebCore::SVGFEMorphologyElement::~SVGFEMorphologyElement): (WebCore::SVGFEMorphologyElement::setRadius): (WebCore::SVGFEMorphologyElement::parseMappedAttribute): (WebCore::SVGFEMorphologyElement::build): * svg/SVGFEMorphologyElement.h: Added. * svg/SVGFEMorphologyElement.idl: Added. * svg/graphics/filters/SVGFEMorphology.cpp: (WebCore::operator<<): * svg/graphics/filters/SVGFEMorphology.h: (WebCore::): * svg/svgtags.in: 2009-10-09 Yury Semikhatsky Reviewed by Dimitri Glazkov. Fix Chromium breakage. https://bugs.webkit.org/show_bug.cgi?id=30104 * inspector/front-end/inspector.js: (WebInspector.addCookieDomain): check that Storage panel is present before calling its methods. 2009-10-09 Joe Ligman Reviewed by Simon Hausmann. [Qt] Added pure virtual methods setInputMethodEnabled and setInputMethodHint to QWebPageClient https://bugs.webkit.org/show_bug.cgi?id=30023 * platform/qt/QWebPageClient.h: 2009-10-08 Dave Hyatt Reviewed by Darin Adler. Implement beforeload for images. ImageLoadEventSender has been refactored into a more generic ImageEventSender that can be used by both load and beforeload events. If the document has any beforeload listeners, then the installation of images onto the renderer becomes asynchronous and will be held up until the beforeload event can fire at a later date. Both beforeload and load events now fire at the end of the tokenizer write() methods, so that in the typical parsing case we don't have to put off the beforeload/load events until after a layout or paint might already have happened. This lets beforeload/load not cause extra layouts and repaints. * dom/ContainerNode.cpp: (WebCore::ContainerNode::dispatchBeforeLoadEvent): * dom/Document.cpp: (WebCore::Document::implicitClose): (WebCore::Document::addListenerTypeIfNeeded): * dom/Document.h: (WebCore::Document::): * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write): * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::attach): * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::attach): * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write): * loader/ImageLoader.cpp: (WebCore::ImageBeforeLoadEventSender::ImageBeforeLoadEventSender): (WebCore::ImageLoadEventSender::ImageLoadEventSender): (WebCore::beforeLoadEventSender): (WebCore::ImageLoader::ImageLoader): (WebCore::ImageLoader::~ImageLoader): (WebCore::ImageLoader::setImage): (WebCore::ImageLoader::setLoadingImage): (WebCore::ImageLoader::updateFromElement): (WebCore::ImageLoader::notifyFinished): (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent): (WebCore::ImageLoader::dispatchPendingEvents): (WebCore::ImageEventSender::ImageEventSender): (WebCore::ImageEventSender::dispatchEventSoon): (WebCore::ImageEventSender::cancelEvent): (WebCore::ImageEventSender::dispatchPendingEvents): (WebCore::ImageEventSender::timerFired): * loader/ImageLoader.h: (WebCore::ImageLoader::haveFiredBeforeLoadEvent): * wml/WMLImageElement.cpp: (WebCore::WMLImageElement::attach): 2009-10-09 Pavel Feldman Reviewed by Dimitri Glazkov. Web Inspector: Wrap Database into ScriptObject in v8 bindings. https://bugs.webkit.org/show_bug.cgi?id=30174 No tests due to no Script* test infrastructure. * bindings/v8/ScriptObjectQuarantine.cpp: (WebCore::getQuarantinedScriptObject): 2009-10-09 Girish Ramakrishnan Reviewed by Simon Hausmann. [Qt] Windowless Plugins : Fix crash when using QWebPage without QWebView. 'client' is 0 when we have no view. https://bugs.webkit.org/show_bug.cgi?id=30251 * plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::paint): 2009-10-09 Girish Ramakrishnan Reviewed by Simon Hausmann. [Qt] Plugins : Add missing setCurrentPlugin(0) https://bugs.webkit.org/show_bug.cgi?id=30248 * plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::dispatchNPEvent): 2009-10-09 Jakub Wieczorek Reviewed by Simon Hausmann. [Qt] beforeload event does not fire on script elements in XML https://bugs.webkit.org/show_bug.cgi?id=30235 r49194 was lacking a change to XMLTokenizerQt.cpp, equivalent to the one made in XMLTokenizerLibxml2.cpp. * dom/XMLTokenizerQt.cpp: (WebCore::XMLTokenizer::parseEndElement): 2009-10-09 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for WebCore's CSSParserValueList https://bugs.webkit.org/show_bug.cgi?id=30249 Inherits CSSParserValueList class from FastAllocBase because it has been instantiated by 'new' in WebCore/css/CSSGrammar.y:1271. * css/CSSParserValues.h: 2009-10-09 Girish Ramakrishnan Reviewed by Simon Hausmann. [Qt] Windowless Plugins : Create Pixmap only when size changes. https://bugs.webkit.org/show_bug.cgi?id=30214 * plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::updatePluginWidget): 2009-10-08 Jon Honeycutt Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking for the existence of a PluginHalterDelegate. This fixes a leak of WebPluginHalterClients: https://bugs.webkit.org/show_bug.cgi?id=30119. Reviewed by Dan Bernstein. * WebCore.base.exp: Removed the export of WebCore::Settings::setPluginHalterEnabled(). * loader/EmptyClients.h: (WebCore::EmptyPluginHalterClient::enabled): * page/Page.cpp: (WebCore::Page::Page): Remove initialization of m_pluginHalterClient, which was removed. If a non-null PluginHalterClient was passed, create the PluginHalter, and set its allowed run time. * page/Page.h: Removed pluginHalterEnabledStateChanged() and m_pluginHalterClient. * page/PluginHalter.cpp: (WebCore::PluginHalter::didStartPlugin): Check whether the PluginHalterClient is enabled. (WebCore::PluginHalter::didStopPlugin): Ditto. * page/PluginHalter.h: Made m_client an OwnPtr. * page/PluginHalterClient.h: Added a function to return the enabled state. * page/Settings.cpp: (WebCore::Settings::Settings): Remove initialization of removed member. * page/Settings.h: Removed settings for the enabled state of the PluginHalter; we now use the existence of a WebPluginHalterDelegate to determine whether the PluginHalter is enabled. 2009-10-08 Adam Barth Reviewed by Eric Seidel. Move executeScript from FrameLoader to ScriptController https://bugs.webkit.org/show_bug.cgi?id=30200 These methods have virtually no interaction with FrameLoader. They really seem like they ought to belong to ScriptController. * WebCore.base.exp: * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::ScriptController): (WebCore::ScriptController::executeScript): (WebCore::ScriptController::executeIfJavaScriptURL): (WebCore::ScriptController::evaluate): * bindings/js/ScriptController.h: * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::ScriptController): (WebCore::ScriptController::executeScript): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/v8/ScriptController.h: * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::notifyFinished): * dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::endElementNs): * dom/XMLTokenizerQt.cpp: (WebCore::XMLTokenizer::parseEndElement): * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::scriptExecution): * loader/FrameLoader.cpp: (WebCore::FrameLoader::changeLocation): (WebCore::FrameLoader::urlSelected): (WebCore::FrameLoader::requestFrame): (WebCore::FrameLoader::submitForm): (WebCore::FrameLoader::replaceDocument): * loader/FrameLoader.h: * plugins/PluginView.cpp: (WebCore::PluginView::performRequest): 2009-10-08 Geoffrey Garen Windows build fix: added missing #include. * ForwardingHeaders/runtime/StructureChain.h: Copied from WebCore/ForwardingHeaders/runtime/PropertyNameArray.h. 2009-10-08 Brian Weinstein Reviewed by Timothy Hatcher. Fixes . DOM Content and Load lines aren't shown if a page is loaded when the inspector is up. Make sure to call update script object if we have an InspectorFrontend to call it on when we get one of the new events. * inspector/InspectorController.cpp: (WebCore::InspectorController::mainResourceFiredDOMContentEvent): (WebCore::InspectorController::mainResourceFiredLoadEvent): 2009-10-08 Geoffrey Garen Build fix: updated for removal of Structure::markAggregate(). * bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::markChildren): 2009-10-08 Jens Alfke Reviewed by Darin Adler. Make AtomicString create its StringImpl via create(), not the constructor, so it gets allocated in a single heap block, saving memory and CPU cycles. This eliminates two StringImpl constructors, making the remaining ones unambiguous, so the "AdoptBuffer" parameter is no longer needed. Added const attribute to UChar* in StringImpl constructor, eliminating the need for several const_casts in calls to it. StringImpl also unfriends AtomicString (OMG drama!!!) https://bugs.webkit.org/show_bug.cgi?id=30141 * platform/text/AtomicString.cpp: (WebCore::CStringTranslator::translate): Call StringImpl::create(). (WebCore::UCharBufferTranslator::translate): Ditto. (WebCore::HashAndCharactersTranslator::translate): Ditto. * platform/text/StringImpl.cpp: (WebCore::StringImpl::StringImpl): Remove unnecessary AdoptBuffer param. (WebCore::StringImpl::adopt): Ditto. (WebCore::StringImpl::createUninitialized): Ditto. (WebCore::StringImpl::create): Ditto. (WebCore::StringImpl::crossThreadString): Ditto. * platform/text/StringImpl.h: (WebCore::StringImpl::setHash): Used by AtomicString when creating StringImpls. 2009-10-08 Anders Carlsson Reviewed by Sam Weinig. Remove the shouldLoadMediaElementURL frame loader client function. * loader/FrameLoader.cpp: (WebCore::FrameLoader::willLoadMediaElementURL): 2009-10-08 John Gregg Reviewed by Dimitri Glazkov. SVGURIReference Build problem for V8. An additional stale reference to SVGURIReference bindings which wasn't exposed until a clean build. https://bugs.webkit.org/show_bug.cgi?id=30217 No new tests, just a build fix. * bindings/v8/V8Index.cpp: 2009-10-08 Nikolas Zimmermann Not reviewed. Sort XCode project file. * WebCore.xcodeproj/project.pbxproj: 2009-10-08 Patrick Mueller Reviewed by Timothy Hatcher. unselectable resources in resource panel https://bugs.webkit.org/show_bug.cgi?id=30079 manual test added Also changed the way DnD for resources in the Resources panel is handled. * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceSidebarTreeElement.prototype.onattach): (WebInspector.ResourceSidebarTreeElement.prototype.ondragstart): * manual-tests/inspector/duplicate-resource-urls.html: Added. 2009-10-08 Brian Weinstein Reviewed by Timothy Hatcher. Fixes Local Storage and Cookies show Blank Titles on Local Files. If a local storage or cookies sidebar item has no domain, set the title to "Local Files", because that is what it represents. * English.lproj/localizedStrings.js: * inspector/front-end/StoragePanel.js: (WebInspector.DOMStorageSidebarTreeElement.prototype.get mainTitle): (WebInspector.CookieSidebarTreeElement.prototype.get mainTitle): (WebInspector.CookieSidebarTreeElement.prototype.set mainTitle): 2009-10-08 Dave Hyatt Reviewed by Oliver Hunt. Fix failing media layout tests. Don't make beforeload block loads of objects that aren't in the document, since video/audio (and images eventually too) can load when not in the document yet. * dom/ContainerNode.cpp: (WebCore::ContainerNode::dispatchBeforeLoadEvent): 2009-10-08 Nikolas Zimmermann Reviewed by Eric Seidel. Move SVGFitToViewBox ANIMATED_* macros in classes that inherit from it https://bugs.webkit.org/show_bug.cgi?id=30230 This patch also devirtualizes viewBoxToViewTransform(), is it's superflous. viewBoxToViewTransform() is now a simple static heper function in SVGFitToViewBox. As a result, the SVGSVGElement::viewBoxToViewTransform() function now resuses the same logic. As side-effect this patch fixes svg/custom/linking-a-03-b-transform.svg, the return statement in SVGSVGElement::viewBoxToViewTransform() was clearly wrong. * svg/SVGFitToViewBox.cpp: (WebCore::SVGFitToViewBox::SVGFitToViewBox): (WebCore::SVGFitToViewBox::viewBoxToViewTransform): * svg/SVGFitToViewBox.h: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::SVGMarkerElement): (WebCore::SVGMarkerElement::viewBoxToViewTransform): * svg/SVGMarkerElement.h: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::buildPattern): * svg/SVGPatternElement.h: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::SVGSVGElement): (WebCore::SVGSVGElement::viewBoxToViewTransform): * svg/SVGSVGElement.h: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::SVGSymbolElement): * svg/SVGSymbolElement.h: * svg/SVGViewElement.cpp: (WebCore::SVGViewElement::SVGViewElement): * svg/SVGViewElement.h: * svg/SVGViewSpec.cpp: (WebCore::SVGViewSpec::SVGViewSpec): * svg/SVGViewSpec.h: 2009-10-08 Brian Weinstein Reviewed by Jon Honeycutt. Correct a typo that fixes the resizing of columns in Cookie view when you resize the Inspector window. * inspector/front-end/CookieItemsView.js: (WebInspector.CookieItemsView.prototype.resize): 2009-10-08 Brian Weinstein Reviewed by Adam Roben. Fixes Text in Inspector's Styles gear menu is invisible. Adds a style rule for the option text and hr's in the gear menu, to prevent them from being transparent. * inspector/front-end/inspector.css: 2009-10-08 John Gregg Reviewed by David Levin. Fix build problem with SVGURIReference in V8. https://bugs.webkit.org/show_bug.cgi?id=30217 No new tests, just a build fix. * WebCore.gypi: * bindings/v8/DerivedSourcesAllInOne.cpp: 2009-10-07 Dave Hyatt Reviewed by Eric Carlson. Make beforeload work on