2010-04-07 Luiz Agostini Reviewed by Darin Adler. Adding static method zero() to classes IntPoint and FloatPoint. https://bugs.webkit.org/show_bug.cgi?id=37220 Adding static method zero() to classes IntPoint and FloatPoint as suggested by Darin Adler. * platform/graphics/FloatPoint.h: (WebCore::FloatPoint::zero): * platform/graphics/IntPoint.h: (WebCore::IntPoint::zero): (WebCore::IntPoint::clampNegativeToZero): 2010-04-07 Alexey Proskuryakov * platform/network/mac/AuthenticationMac.mm: Fix a typo in comment. 2010-04-07 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=37230 REGRESSION (4.0.5): Safari asks for credentials all the time when authenticating to Windows IIS Server * platform/network/ProtectionSpace.h: (WebCore::ProtectionSpaceAuthenticationScheme): Added a constant for ProtectionSpaceAuthenticationSchemeUnknown. * platform/network/cf/AuthenticationCF.cpp: (WebCore::core): * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::authenticationSchemeFromAuthenticationMethod): Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme. * platform/network/mac/AuthenticationMac.mm: (WebCore::mac): Support NTLM on systems older than 10.6. We actually get this string from NSURLConnection, even though there was no public constant. (WebCore::core): Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme. 2010-04-07 Jaime Yap Reviewed by Pavel Feldman. Adds the ability to get the function symbol name when looking up the call location for records sent by the InspectorTimelineAgent. https://bugs.webkit.org/show_bug.cgi?id=36839 No new tests. * bindings/js/ScriptCallStack.cpp: (WebCore::ScriptCallStack::callLocation): * bindings/js/ScriptCallStack.h: * bindings/v8/ScriptCallStack.cpp: (WebCore::ScriptCallStack::create): (WebCore::ScriptCallStack::callLocation): (WebCore::ScriptCallStack::ScriptCallStack): * bindings/v8/ScriptCallStack.h: * bindings/v8/ScriptDebugServer.cpp: (WebCore::ScriptDebugServer::createUtilityContext): (WebCore::ScriptDebugServer::topStackFrame): * bindings/v8/ScriptDebugServer.h: (WebCore::ScriptDebugServer::utilityContext): * bindings/v8/V8Proxy.cpp: * bindings/v8/V8Proxy.h: * inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createGenericRecord): 2010-04-07 Jay Civelli Reviewed by Jian Li. [chromium] Fixing a NULL pointer being dereferenced in some cases. https://bugs.webkit.org/show_bug.cgi?id=37141 Test: platform/chromium/fast/forms/search-popup-crasher.html * platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupMenu::~PopupMenu): 2010-04-07 Kinuko Yasuda Reviewed by Jian Li. Add skeleton FileStream module for providing sync file operations for FileAPI https://bugs.webkit.org/show_bug.cgi?id=37217 For now the module just defines an interface and is almost empty. Implementation will be added. No new tests; will be added when we have complete implementation. * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * html/FileStream.cpp: Added. * html/FileStream.h: Added. * html/FileStreamClient.h: Added. * html/FileThread.cpp: (WebCore::SameFilePredicate::SameFilePredicate): (WebCore::SameFilePredicate::operator()): (WebCore::FileThread::unscheduleTasks): * html/FileThread.h: (WebCore::FileThread::Task::stream): (WebCore::FileThread::Task::Task): 2010-04-07 Oliver Hunt Reviewed by Darin Adler. Remove some unnecessary uses of commonJSGlobalData https://bugs.webkit.org/show_bug.cgi?id=37229 Pass the ExecState down to identifierFromNPIdentifier and update call sites * bridge/NP_jsobject.cpp: (_NPN_Invoke): (_NPN_GetProperty): (_NPN_SetProperty): (_NPN_RemoveProperty): (_NPN_HasProperty): (_NPN_HasMethod): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_utility.cpp: (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: 2010-04-07 Kenneth Rohde Christiansen Reviewed by Darin Adler. Poor rendering on lala.com with frame flattening https://bugs.webkit.org/show_bug.cgi?id=37164 Do not flatten offscreen iframes. Test: fast/frames/flattening/iframe-flattening-offscreen.html * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::flattenFrame): * rendering/RenderPartObject.h: 2010-04-07 Abhishek Arya Reviewed by Adam Barth. [V8] Add a missing check for constructor call in WebKitPointConstructor. https://bugs.webkit.org/show_bug.cgi?id=37210 Test: fast/constructors/constructor-as-function-crash.html * bindings/v8/custom/V8WebKitPointConstructor.cpp: (WebCore::V8WebKitPoint::constructorCallback): Added a check for constructor call. 2010-04-07 Enrica Casucci Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=37219 This change disables text caret for the iPhone platflorm. Added UNUSED_PARAM to build when ENABLE_TEXT_CARET is 0. * editing/SelectionController.cpp: (WebCore::SelectionController::recomputeCaretRect): (WebCore::SelectionController::paintCaret): * page/Frame.cpp: (WebCore::Frame::paintDragCaret): 2010-04-07 Enrica Casucci Reviewed by Dave Hyatt. Text repainting does not account for glyphs which draw outside the typographic bounds of the font (6274). In order to be able to handle successfully this case, it is necessary to change the glyph width cache to store the bounding box for the glyph instead of the simply caching the glyph width. Retrieving the bounding box for the glyph is expensive, therefore we do it only when we are rendering text using the complex text path to minimize the performance impact. To support characters with stacked diacritics, the method canUseGlyphCache has been modified to return false for the range of characters with stacked diacritics. The glyph cache has been also updated to allow storing the glyph bounding box together with the horizontal width. The bounding box is populated only for complex text. The original version of this patch has been written by Dan Bernstein. Test: fast/repaint/stacked-diacritics.html * Android.mk: File name change. * GNUmakefile.am: File name change. * WebCore.base.exp: Added parameter in exported function. * WebCore.gypi: File name change. * WebCore.vcproj/WebCore.vcproj: File name change. * WebCore.xcodeproj/project.pbxproj: File name change. * platform/graphics/Font.cpp: (WebCore::Font::floatWidth): Added glyphOverflow parameter. * platform/graphics/Font.h: (WebCore::GlyphOverflow::GlyphOverflow): Added. (WebCore::Font::width): Added glyphOverflow parameter. * platform/graphics/FontFastPath.cpp: (WebCore::Font::canUseGlyphCache): Modified to render characters with stacked diacritics with complex text path. * platform/graphics/GlyphMetricsMap.cpp: Copied from WebCore/platform/graphics/GlyphWidthMap.cpp. (WebCore::GlyphMetricsMap::locatePageSlowCase): Class name changed to reflect new semantics. * platform/graphics/GlyphMetricsMap.h: Copied from WebCore/platform/graphics/GlyphWidthMap.h. (WebCore::GlyphMetricsMap::GlyphMetricsMap): (WebCore::GlyphMetricsMap::~GlyphMetricsMap): (WebCore::GlyphMetricsMap::metricsForGlyph): (WebCore::GlyphMetricsMap::widthForGlyph): (WebCore::GlyphMetricsMap::setMetricsForGlyph): (WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph): (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph): (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex): (WebCore::GlyphMetricsMap::locatePage): * platform/graphics/GlyphWidthMap.cpp: Removed. * platform/graphics/GlyphWidthMap.h: Removed. * platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::platformGlyphInit): * platform/graphics/SimpleFontData.h: (WebCore::): (WebCore::SimpleFontData::widthForGlyph): (WebCore::SimpleFontData::metricsForGlyph): * platform/graphics/cairo/SimpleFontDataCairo.cpp: (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change. * platform/graphics/chromium/FontChromiumWin.cpp: (WebCore::Font::floatWidthForComplexText): Added parameter. * platform/graphics/chromium/FontLinux.cpp: (WebCore::Font::floatWidthForComplexText): Added parameter. * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change. * platform/graphics/chromium/SimpleFontDataLinux.cpp: (WebCore::SimpleFontData::platformWidthForGlyph): Name and signature vachange * platform/graphics/efl/FontEfl.cpp: (WebCore::Font::floatWidthForComplexText): Name and signature change. * platform/graphics/gtk/SimpleFontDataPango.cpp: (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change. * platform/graphics/haiku/FontHaiku.cpp: (WebCore::Font::floatWidthForComplexText): Added parameter. * platform/graphics/haiku/SimpleFontDataHaiku.cpp: (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change. * platform/graphics/mac/ComplexTextController.cpp: (WebCore::ComplexTextController::ComplexTextController): (WebCore::ComplexTextController::adjustGlyphsAndAdvances): * platform/graphics/mac/ComplexTextController.h: (WebCore::ComplexTextController::minGlyphBoundingBoxX): (WebCore::ComplexTextController::maxGlyphBoundingBoxX): (WebCore::ComplexTextController::minGlyphBoundingBoxY): (WebCore::ComplexTextController::maxGlyphBoundingBoxY): * platform/graphics/mac/FontComplexTextMac.cpp: (WebCore::Font::floatWidthForComplexText): Added paramter. * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change. * platform/graphics/qt/FontQt.cpp: (WebCore::Font::floatWidthForComplexText): Added paramter. * platform/graphics/win/FontWin.cpp: (WebCore::Font::floatWidthForComplexText): Added parameter. * platform/graphics/win/SimpleFontDataCGWin.cpp: (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change. * platform/graphics/win/SimpleFontDataWin.cpp: (WebCore::SimpleFontData::metricsForGDIGlyph): * platform/graphics/win/UniscribeController.cpp: (WebCore::UniscribeController::UniscribeController): (WebCore::UniscribeController::shapeAndPlaceItem): * platform/graphics/win/UniscribeController.h: (WebCore::UniscribeController::minGlyphBoundingBoxX): (WebCore::UniscribeController::maxGlyphBoundingBoxX): (WebCore::UniscribeController::minGlyphBoundingBoxY): (WebCore::UniscribeController::maxGlyphBoundingBoxY): * platform/graphics/wince/FontWince.cpp: (WebCore::Font::floatWidthForComplexText): Added parameter. * platform/graphics/wx/FontWx.cpp: (WebCore::Font::floatWidthForComplexText): Added parameter. * platform/graphics/wx/SimpleFontDataWx.cpp: (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change. * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally): (WebCore::InlineFlowBox::computeLogicalBoxHeights): (WebCore::InlineFlowBox::computeVerticalOverflow): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::setFallbackFonts): (WebCore::InlineTextBox::fallbackFonts): (WebCore::InlineTextBox::setGlyphOverflow): (WebCore::InlineTextBox::glyphOverflow): * rendering/InlineTextBox.h: (WebCore::InlineTextBox::clearGlyphOverflowAndFallbackFontMap): Added. * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::computeHorizontalPositionsForLine): (WebCore::RenderBlock::layoutInlineChildren): * rendering/RenderText.cpp: (WebCore::RenderText::RenderText): (WebCore::RenderText::styleDidChange): (WebCore::RenderText::widthFromCache): (WebCore::RenderText::trimmedPrefWidths): (WebCore::RenderText::calcPrefWidths): (WebCore::RenderText::setText): (WebCore::RenderText::width): * rendering/RenderText.h: 2010-04-07 Joseph Pecoraro Reviewed by Darin Adler. Fix incorrect white-space in WebGLRenderingContext.idl https://bugs.webkit.org/show_bug.cgi?id=31339 * html/canvas/WebGLRenderingContext.idl: Remove offending extra whitespace. 2010-04-07 Rodrigo Belem Reviewed by Simon Hausmann. [Qt] The build system is not installing the generated headers (QGraphicsWebView, QWebDatabase, etc) https://bugs.webkit.org/show_bug.cgi?id=37173 This patch sets the correct path to the classheaders.pri and then fixes the installation of the generated headers. * WebCore.pro: 2010-04-05 Antonio Gomes Reviewed by Kenneth Christiansen. Spatial Navigation: bail out as soon as algorithm finds a focus candidate is not applicable https://bugs.webkit.org/show_bug.cgi?id=37135 It happens, for example, when distanceDataForNode assigns numeric_limits to current focus candidate's. It means that current candidate is not in direction, or not a valid target node. * page/FocusController.cpp: (WebCore::FocusController::findFocusableNodeInDirection): 2010-04-07 Andrey Kosyakov Reviewed by Yury Semikhatsky. Removed inspector methods from ScriptExecutionContext and derived classes. Removed MessageDestination parameter from console-related calls (we now always log to the same destination(s)). Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest() https://bugs.webkit.org/show_bug.cgi?id=36949 * dom/Document.cpp: (WebCore::Document::reportException): (WebCore::Document::addMessage): * dom/Document.h: * dom/ScriptExecutionContext.h: * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): * loader/FrameLoaderClient.h: * loader/ResourceLoadNotifier.cpp: * loader/ResourceLoadNotifier.h: * websockets/WebSocket.cpp: (WebCore::WebSocket::connect): * websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::didOpen): (WebCore::WebSocketChannel::appendToBuffer): * websockets/WebSocketHandshake.cpp: (WebCore::WebSocketHandshake::readServerHandshake): (WebCore::WebSocketHandshake::readHTTPHeaders): (WebCore::WebSocketHandshake::checkResponseHeaders): * workers/DefaultSharedWorkerRepository.cpp: (WebCore::postConsoleMessageTask): (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject): * workers/WorkerContext.cpp: (WebCore::WorkerContext::importScripts): (WebCore::WorkerContext::addMessage): * workers/WorkerContext.h: * workers/WorkerMessagingProxy.cpp: (WebCore::postConsoleMessageTask): (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject): * workers/WorkerMessagingProxy.h: * workers/WorkerReportingProxy.h: * xml/XMLHttpRequest.cpp: (WebCore::reportUnsafeUsage): (WebCore::XMLHttpRequest::didFinishLoading): 2010-04-07 Dawit Alemayehu Reviewed by Simon Hausmann. https://bugs.webkit.org/show_bug.cgi?id=36827 Replaced the 'shouldTreatAsAttachment' function with a more generic function that returns the content disposition type. See comments 39-42 in https://bugs.webkit.org/show_bug.cgi?id=36395 * platform/network/HTTPParsers.cpp: (WebCore::contentDispositionType): * platform/network/HTTPParsers.h: (WebCore::): 2010-04-07 Vitaly Repeshko Reviewed by Yury Semikhatsky. [V8] Throw exception in SerializedScriptValue on input errors https://bugs.webkit.org/show_bug.cgi?id=37160 When cycles are detected SerializedScriptValue should throw NOT_SUPPORTED_ERR. See http://www.whatwg.org/specs/web-apps/2009-10-27/multipage/urls.html#structured-clone * bindings/scripts/CodeGeneratorV8.pm: Custom processing for function arguments of type SerializedScriptValue. * bindings/v8/SerializedScriptValue.cpp: (WebCore::SerializedScriptValue::SerializedScriptValue): * bindings/v8/SerializedScriptValue.h: (WebCore::SerializedScriptValue::create): Added a constructor function with an extra paratemer to check whether an exception was thrown. SerializedScriptValue::create callers updated to check for exceptions: * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::V8DOMWindow::postMessageCallback): * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: (WebCore::V8DedicatedWorkerContext::postMessageCallback): * bindings/v8/custom/V8HistoryCustom.cpp: (WebCore::V8History::pushStateCallback): (WebCore::V8History::replaceStateCallback): * bindings/v8/custom/V8MessagePortCustom.cpp: (WebCore::V8MessagePort::postMessageCallback): * bindings/v8/custom/V8PopStateEventCustom.cpp: (WebCore::V8PopStateEvent::initPopStateEventCallback): * bindings/v8/custom/V8WorkerCustom.cpp: (WebCore::V8Worker::postMessageCallback): 2010-04-07 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: Provide a placeholder for resources with no content available https://bugs.webkit.org/show_bug.cgi?id=37142 * English.lproj/localizedStrings.js: * inspector/front-end/ImageView.js: (WebInspector.ImageView): (WebInspector.ImageView.prototype.contentTabSelected): * inspector/front-end/ResourceView.js: (WebInspector.ResourceView.prototype._innerSelectContentTab): (WebInspector.ResourceView.prototype.contentTabSelected): * inspector/front-end/inspector.css: (.resource-content-unavailable): 2010-04-07 Simon Hausmann Reviewed by Laszlo Gombos. https://bugs.webkit.org/show_bug.cgi?id=36750 [Qt] Package build without touch support is broken Use the conditional attribute instead of #ifdefs in the idl file for the touch specific properties, to make the generated files compile with and without the touch events enabled. * dom/Document.idl: Use conditional instead of #ifdef. * dom/Element.idl: Ditto. * page/DOMWindow.idl: Ditto. 2010-04-07 Simon Hausmann Reviewed by Holger Freyther. Add the touch event related IDL files to the idl generation, so that they can be safely included from generated JS bindings files. The generated files have #ifdef feature guards. * DerivedSources.cpp: * DerivedSources.make: * GNUmakefile.am: 2010-04-06 Jeremy Orlow Reviewed by Adam Barth. V8CustomIDBCallbacks<> should not hold a reference to the frame https://bugs.webkit.org/show_bug.cgi?id=37154 Don't hold on to a Frame reference. Instead, be an ActiveDOMObject and use scriptExecutionContext() to get the v8 context. Factor the guts of onSuccess and onError out. Doesn't work enough to test yet. * bindings/v8/custom/V8CustomIDBCallbacks.h: (WebCore::V8CustomIDBCallbacks::create): (WebCore::V8CustomIDBCallbacks::onSuccess): (WebCore::V8CustomIDBCallbacks::onError): (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks): (WebCore::V8CustomIDBCallbacks::onEvent): * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: (WebCore::V8IndexedDatabaseRequest::openCallback): * storage/IDBCallbacks.h: (WebCore::IDBCallbacks::IDBCallbacks): 2010-04-07 Sheriff Bot Unreviewed, rolling out r57196. http://trac.webkit.org/changeset/57196 https://bugs.webkit.org/show_bug.cgi?id=37196 Multiple layout test failures on Chromium (Requested by yurys on #webkit). * bindings/js/ScriptCallStack.cpp: (WebCore::ScriptCallStack::callLocation): * bindings/js/ScriptCallStack.h: * bindings/v8/ScriptCallStack.cpp: (WebCore::ScriptCallStack::create): (WebCore::ScriptCallStack::callLocation): (WebCore::ScriptCallStack::ScriptCallStack): * bindings/v8/ScriptCallStack.h: * bindings/v8/ScriptDebugServer.cpp: * bindings/v8/ScriptDebugServer.h: * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::createUtilityContext): (WebCore::V8Proxy::sourceLineNumber): (WebCore::V8Proxy::sourceName): * bindings/v8/V8Proxy.h: (WebCore::V8Proxy::utilityContext): * inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createGenericRecord): 2010-04-07 Simon Hausmann Unreviewed, rolling out r57199. http://trac.webkit.org/changeset/57199 https://bugs.webkit.org/show_bug.cgi?id=36750 Breaks non-touch enabled build * dom/Document.idl: * dom/Element.idl: * page/DOMWindow.idl: 2010-04-07 Simon Hausmann Reviewed by Laszlo Gombos. https://bugs.webkit.org/show_bug.cgi?id=36750 [Qt] Package build without touch support is broken Use the conditional attribute instead of #ifdefs in the idl file for the touch specific properties, to make the generated files compile with and without the touch events enabled. * dom/Document.idl: Use conditional instead of #ifdef. * dom/Element.idl: Ditto. * page/DOMWindow.idl: Ditto. 2010-04-07 Jaime Yap Reviewed by Yury Semikhatsky. Adds the ability to get the function symbol name when looking up the call location for records sent by the InspectorTimelineAgent. https://bugs.webkit.org/show_bug.cgi?id=36839 No new tests. * bindings/js/ScriptCallStack.cpp: (WebCore::ScriptCallStack::callLocation): * bindings/js/ScriptCallStack.h: * bindings/v8/ScriptCallStack.cpp: (WebCore::ScriptCallStack::create): (WebCore::ScriptCallStack::callLocation): (WebCore::ScriptCallStack::ScriptCallStack): * bindings/v8/ScriptCallStack.h: * bindings/v8/ScriptDebugServer.cpp: (WebCore::ScriptDebugServer::createUtilityContext): (WebCore::ScriptDebugServer::lastCallFrame): * bindings/v8/ScriptDebugServer.h: (WebCore::ScriptDebugServer::utilityContext): * bindings/v8/V8Proxy.cpp: * bindings/v8/V8Proxy.h: * inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createGenericRecord): 2010-04-06 Greg Bolsinga Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=37188 WebCore::page::Geolocation::m_shouldClearCache is not used. * page/Geolocation.cpp: (WebCore::Geolocation::Geolocation): Remove m_shouldClearCache. * page/Geolocation.h: (WebCore::Geolocation::): Ditto. 2010-04-06 Laszlo Gombos Reviewed by Eric Seidel. Remove obsolete MOBILE flag https://bugs.webkit.org/show_bug.cgi?id=37125 The MOBILE flag is no longer used by any of the ports. The flag use to control some tokenizer defaults that can be changed runtime. No new tests as there is no new functionality. * config.h: * html/HTMLTokenizer.cpp: 2010-04-06 Adam Barth Reviewed by Eric Seidel. REGRESSION: Worker termination via JS timeout may cause worker tests like fast/workers/worker-terminate.html fail. https://bugs.webkit.org/show_bug.cgi?id=36646 Cause the worker code to swallow termination exceptions because these need not be reported to the user because they are an implementation detail of how we terminate worker execution. Test: fast/workers/worker-terminate-forever.html * bindings/js/JSDOMBinding.cpp: (WebCore::reportException): - Refuse to report termination exceptions to the user because they are an implementation detail. * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::forbidExecution): - Instead of using timeouts to stop run away workers, use our fancy new Terminator object. 2010-04-06 Kinuko Yasuda Reviewed by Jian Li. Add basic FileSystem operations for FileReader/FileWriter support for POSIX (incl. Mac) https://bugs.webkit.org/show_bug.cgi?id=36938 No new tests; will be added when we implement upper layers. * platform/FileSystem.h: (WebCore::): * platform/posix/FileSystemPOSIX.cpp: (WebCore::openFile): (WebCore::closeFile): (WebCore::seekFile): (WebCore::truncateFile): (WebCore::writeToFile): (WebCore::readFromFile): 2010-04-06 Nicolas Weber Reviewed by Dimitri Glazkov. Implement DragImage functionality for chromium/mac. https://bugs.webkit.org/show_bug.cgi?id=37069 * page/chromium/DragControllerChromium.cpp: (WebCore::DragController::maxDragImageSize): Use a max size of 400x400 on OS X. * platform/chromium/DragImageChromiumMac.cpp: (WebCore::dragImageSize): Implement. (WebCore::deleteDragImage): Implement. (WebCore::scaleDragImage): Implement. (WebCore::dissolveDragImageToFraction): Implement. (WebCore::createDragImageFromImage): Implement. * platform/chromium/DragImageRef.h: Use CGImageRefs as DragImageRef on OS X. 2010-04-06 Chris Evans Reviewed by Adam Barth. Use the new UserGestureIndictor to process javascript:window.open() https://bugs.webkit.org/show_bug.cgi?id=37138 * bindings/v8/ScriptController.cpp (WebCore::ScriptController::processingUserGesture): Use the new UserGestureIndicator when processing a javascript:window.open() 2010-04-06 Vangelis Kokkevis Reviewed by Dimitri Glazkov. Renaming Graphics Layer related classes used by Chromium from *Skia to *Chromium and replacing wherever possible Skia-specific data types with WebCore equivalents. The source files will be renamed accordingly and moved out of platform/graphics/skia in a subsequent CL. https://bugs.webkit.org/show_bug.cgi?id=37116 No new functionality so no new tests. * platform/graphics/GraphicsLayer.h: * platform/graphics/skia/GraphicsLayerSkia.cpp: (WebCore::setLayerBorderColor): (WebCore::clearBorderColor): (WebCore::setLayerBackgroundColor): (WebCore::clearLayerBackgroundColor): (WebCore::GraphicsLayer::create): (WebCore::GraphicsLayerChromium::GraphicsLayerChromium): (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium): (WebCore::GraphicsLayerChromium::setName): (WebCore::GraphicsLayerChromium::nativeLayer): (WebCore::GraphicsLayerChromium::setChildren): (WebCore::GraphicsLayerChromium::addChild): (WebCore::GraphicsLayerChromium::addChildAtIndex): (WebCore::GraphicsLayerChromium::addChildBelow): (WebCore::GraphicsLayerChromium::addChildAbove): (WebCore::GraphicsLayerChromium::replaceChild): (WebCore::GraphicsLayerChromium::removeFromParent): (WebCore::GraphicsLayerChromium::setPosition): (WebCore::GraphicsLayerChromium::setAnchorPoint): (WebCore::GraphicsLayerChromium::setSize): (WebCore::GraphicsLayerChromium::setTransform): (WebCore::GraphicsLayerChromium::setChildrenTransform): (WebCore::GraphicsLayerChromium::setPreserves3D): (WebCore::GraphicsLayerChromium::setMasksToBounds): (WebCore::GraphicsLayerChromium::setDrawsContent): (WebCore::GraphicsLayerChromium::setBackgroundColor): (WebCore::GraphicsLayerChromium::clearBackgroundColor): (WebCore::GraphicsLayerChromium::setContentsOpaque): (WebCore::GraphicsLayerChromium::setBackfaceVisibility): (WebCore::GraphicsLayerChromium::setOpacity): (WebCore::GraphicsLayerChromium::setNeedsDisplay): (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): (WebCore::GraphicsLayerChromium::setContentsRect): (WebCore::GraphicsLayerChromium::setContentsToImage): (WebCore::GraphicsLayerChromium::setContentsToVideo): (WebCore::GraphicsLayerChromium::setGeometryOrientation): (WebCore::GraphicsLayerChromium::hostLayerForSublayers): (WebCore::GraphicsLayerChromium::layerForSuperlayer): (WebCore::GraphicsLayerChromium::platformLayer): (WebCore::GraphicsLayerChromium::setDebugBackgroundColor): (WebCore::GraphicsLayerChromium::setDebugBorder): (WebCore::GraphicsLayerChromium::updateSublayerList): (WebCore::GraphicsLayerChromium::updateLayerPosition): (WebCore::GraphicsLayerChromium::updateLayerSize): (WebCore::GraphicsLayerChromium::updateAnchorPoint): (WebCore::GraphicsLayerChromium::updateTransform): (WebCore::GraphicsLayerChromium::updateChildrenTransform): (WebCore::GraphicsLayerChromium::updateMasksToBounds): (WebCore::GraphicsLayerChromium::updateContentsOpaque): (WebCore::GraphicsLayerChromium::updateBackfaceVisibility): (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): (WebCore::GraphicsLayerChromium::updateLayerDrawsContent): (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor): (WebCore::GraphicsLayerChromium::updateContentsImage): (WebCore::GraphicsLayerChromium::updateContentsVideo): (WebCore::GraphicsLayerChromium::updateContentsRect): (WebCore::GraphicsLayerChromium::updateGeometryOrientation): (WebCore::GraphicsLayerChromium::setupContentsLayer): (WebCore::GraphicsLayerChromium::updateOpacityOnLayer): * platform/graphics/skia/GraphicsLayerSkia.h: (WebCore::GraphicsLayerChromium::primaryLayer): (WebCore::GraphicsLayerChromium::contentsLayer): * platform/graphics/skia/LayerRendererSkia.cpp: (WebCore::LayerRendererChromium::create): (WebCore::LayerRendererChromium::LayerRendererChromium): (WebCore::LayerRendererChromium::~LayerRendererChromium): (WebCore::LayerRendererChromium::updateLayerContents): (WebCore::LayerRendererChromium::drawLayersInCanvas): (WebCore::LayerRendererChromium::drawLayerInCanvasRecursive): (WebCore::LayerRendererChromium::updateLayerContentsRecursive): * platform/graphics/skia/LayerRendererSkia.h: (WebCore::LayerRendererChromium::setRootLayer): (WebCore::LayerRendererChromium::rootLayer): * platform/graphics/skia/LayerSkia.cpp: (WebCore::LayerChromium::create): (WebCore::LayerChromium::LayerChromium): (WebCore::LayerChromium::~LayerChromium): (WebCore::LayerChromium::updateGraphicsContext): (WebCore::LayerChromium::updateContents): (WebCore::LayerChromium::drawDebugBorder): (WebCore::LayerChromium::setNeedsCommit): (WebCore::LayerChromium::addSublayer): (WebCore::LayerChromium::insertSublayer): (WebCore::LayerChromium::removeFromSuperlayer): (WebCore::LayerChromium::removeSublayer): (WebCore::LayerChromium::indexOfSublayer): (WebCore::LayerChromium::setBackingStoreRect): (WebCore::LayerChromium::setBounds): (WebCore::LayerChromium::setFrame): (WebCore::LayerChromium::rootLayer): (WebCore::LayerChromium::removeAllSublayers): (WebCore::LayerChromium::setSublayers): (WebCore::LayerChromium::setSuperlayer): (WebCore::LayerChromium::superlayer): (WebCore::LayerChromium::setNeedsDisplay): * platform/graphics/skia/LayerSkia.h: (WebCore::LayerChromium::setAnchorPoint): (WebCore::LayerChromium::anchorPoint): (WebCore::LayerChromium::borderWidth): (WebCore::LayerChromium::bounds): (WebCore::LayerChromium::frame): (WebCore::LayerChromium::setPosition): (WebCore::LayerChromium::position): (WebCore::LayerChromium::zPosition): (WebCore::LayerChromium::getSublayers): (WebCore::LayerChromium::setSublayerTransform): (WebCore::LayerChromium::sublayerTransform): (WebCore::LayerChromium::setTransform): (WebCore::LayerChromium::transform): 2010-04-06 Jarkko Sakkinen Reviewed by Laszlo Gombos. [Qt] WebKit does not build on Windows with --3d-canvas https://bugs.webkit.org/show_bug.cgi?id=37026 * platform/graphics/GraphicsContext3D.h: * platform/graphics/qt/GraphicsContext3DQt.cpp: (WebCore::GraphicsContext3D::getActiveAttrib): (WebCore::GraphicsContext3D::getActiveUniform): 2010-04-06 Abhinav Mithal Reviewed by Laszlo Gombos. [Qt] npapi header leaves XP_WIN flag defined even when __SYMBIAN32__ flag is found https://bugs.webkit.org/show_bug.cgi?id=34614 Do not define XP_WIN if WebKit is compiled for Symbian. No new tests as there is no new functionality. * bridge/npapi.h: 2010-04-06 Chris Fleizach Reviewed by Beth Dakin. aria-label doesn't work on image map area https://bugs.webkit.org/show_bug.cgi?id=36977 Test: platform/mac/accessibility/area-with-aria-label.html * accessibility/AccessibilityImageMapLink.cpp: (WebCore::AccessibilityImageMapLink::accessibilityDescription): 2010-04-06 James Robinson Reviewed by Simon Fraser. Reverts the incorrect fixed position fastpath scrolling logic https://bugs.webkit.org/show_bug.cgi?id=33150 This code does not properly handle overflow or transforms on fixed position elements, causing repaint bugs on scroll. No new tests. * page/FrameView.cpp: (WebCore::FrameView::addFixedObject): (WebCore::FrameView::removeFixedObject): * page/FrameView.h: * platform/ScrollView.cpp: (WebCore::ScrollView::scrollContents): * platform/ScrollView.h: * rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange): 2010-04-06 Kevin Ollivier [wx] Build fix for wxMac / Cocoa on wx trunk. * platform/wx/wxcode/mac/carbon/fontprops.mm: (wxFontContainsCharacters): 2010-04-06 Simon Hausmann Reviewed by Darin Adler. JS code generator does not support feature conditional attributes that are writable https://bugs.webkit.org/show_bug.cgi?id=37149 Write out the feature #ifdef not only for the getter, but also for the setter function. * bindings/scripts/CodeGeneratorJS.pm: 2010-04-06 Evan Stade Reviewed by Dimitri Glazkov. [chromium] need DragImage implementation https://bugs.webkit.org/show_bug.cgi?id=35811 Use the DragImageRef that the DragController passes to us. This was previously committed but rolled back for breaking layout tests. The fix is on the WebKit/chromium side. * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * platform/chromium/DragImageChromium.cpp: Removed. * platform/chromium/DragImageChromiumMac.cpp: Added. (WebCore::dragImageSize): (WebCore::deleteDragImage): (WebCore::scaleDragImage): (WebCore::dissolveDragImageToFraction): (WebCore::createDragImageFromImage): (WebCore::createDragImageIconForCachedImage): * platform/chromium/DragImageChromiumSkia.cpp: Added. (WebCore::dragImageSize): (WebCore::deleteDragImage): (WebCore::scaleDragImage): (WebCore::dissolveDragImageToFraction): (WebCore::createDragImageFromImage): (WebCore::createDragImageIconForCachedImage): * platform/chromium/DragImageRef.h: 2010-04-01 Yuzo Fujishima Reviewed by Darin Adler. Fix bug: CSS3 :not selector with ID simple selector sequence test fails As per http://www.w3.org/TR/css3-selectors/#negation, :not(X) takes a simple selector as an argument. WebKit was accepting a simple selector *sequence*. This patch adds WebCore::CSSSelector::isSimple which judges if the selector is simple. The method is used in CSSGrammar.y to decide whether to accept the selector as the argument of :not(). https://bugs.webkit.org/show_bug.cgi?id=36276 Test: fast/css/invalid-not-with-simple-selector-sequence.html * css/CSSGrammar.y: * css/CSSSelector.cpp: (WebCore::CSSSelector::isSimple): * css/CSSSelector.h: 2010-04-06 Andy Estes Rubber-stamped by Dan Bernstein. Remove non-ASCII characters from license headers to fix build errors on Japanese Windows. https://bugs.webkit.org/show_bug.cgi?id=37008 * dom/UserGestureIndicator.cpp: * dom/UserGestureIndicator.h: 2010-04-06 Andrei Popescu Reviewed by Dimitri Glazkov. [V8][Android] PageCache crashes when JavaScript is disabled https://bugs.webkit.org/show_bug.cgi?id=37150 This patch ensures that saving and restoration of the script state only happens when JS is enabled and each frame has a non-null context. No new tests: existing tests show the feature is working when JS is enabled. When JS is disabled, manual testing is required. * bindings/v8/ScriptCachedFrameData.cpp: (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): (WebCore::ScriptCachedFrameData::restore): 2010-04-06 Ilya Tikhonovsky Unreviewed build fix. Web Inspector: missed files were added. * GNUmakefile.am: * bindings/js/ScriptGCEvent.h: Added. (WebCore::ScriptGCEvent::addEventListener): (WebCore::ScriptGCEvent::removeEventListener): (WebCore::ScriptGCEvent::getHeapSize): * bindings/v8/ScriptGCEvent.cpp: Added. (WebCore::ScriptGCEvent::addEventListener): (WebCore::ScriptGCEvent::removeEventListener): (WebCore::ScriptGCEvent::getHeapSize): (WebCore::ScriptGCEvent::getUsedHeapSize): (WebCore::ScriptGCEvent::gcPrologueCallback): (WebCore::ScriptGCEvent::gcEpilogueCallback): * bindings/v8/ScriptGCEvent.h: Added. * inspector/ScriptGCEventListener.h: Added. (WebCore::ScriptGCEventListener::~ScriptGCEventListener): 2010-04-06 Ilya Tikhonovsky Reviewed by Pavel Feldman. Web Inspector: The JS code can be not optimal from memory usage point of view. As example it can generate a lot of temp objects and GC will spend significant time to collect these objects. GC event will show us these moments. Also each event can show us how much memory is in use. https://bugs.webkit.org/show_bug.cgi?id=37025 * WebCore.gypi: * WebCore.pro: * inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): (WebCore::InspectorTimelineAgent::pushGCEventRecords): (WebCore::InspectorTimelineAgent::didGC): (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent): (WebCore::InspectorTimelineAgent::didInstallTimer): (WebCore::InspectorTimelineAgent::didRemoveTimer): (WebCore::InspectorTimelineAgent::willSendResourceRequest): (WebCore::InspectorTimelineAgent::didFinishLoadingResource): (WebCore::InspectorTimelineAgent::didMarkTimeline): (WebCore::InspectorTimelineAgent::addRecordToTimeline): (WebCore::InspectorTimelineAgent::setHeapSizeStatistic): (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): (WebCore::InspectorTimelineAgent::pushCurrentRecord): * inspector/InspectorTimelineAgent.h: (WebCore::): (WebCore::InspectorTimelineAgent::instanceCount): (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry): (WebCore::InspectorTimelineAgent::GCEvent::GCEvent): * inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createGCEventData): * inspector/TimelineRecordFactory.h: * inspector/front-end/Popover.js: (WebInspector.PopoverHelper.prototype._mouseHover): * inspector/front-end/TimelineAgent.js: * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype.get _recordStyles): (WebInspector.TimelinePanel.FormattedRecord): (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 2010-04-05 Antonio Gomes Reviewed by Laszlo Gombos. Remove unused DIRECTIONAL_PAD_NAVIGATION https://bugs.webkit.org/show_bug.cgi?id=37134 Android browser was planning to have a "directional pad navigation" available on trunk, guarded by a build flag named DIRECTIONAL_PAD_NAVIGATION, but according to https://bugs.webkit.org/show_bug.cgi?id=23145#c3 , the plan was dropped. However bug 23163 landed some code relying on the build flag supposedly to be added, and is now dead code in trunk. * dom/Element.cpp: (WebCore::Element::updateFocusAppearance): 2010-04-06 Mattias Nissler Reviewed by Pavel Feldman. Rework inspector docking to issue a request call from the frontend whenever the user triggers to (un)dock the inspector window. Doing so enables InspectorFrontendHost implementations to asynchronously decide whether the window is docked or not. The old canAttachWindow() is not required anymore, remove it. https://bugs.webkit.org/show_bug.cgi?id=36944 * inspector/InspectorFrontendClient.h: * inspector/InspectorFrontendClientLocal.cpp: (WebCore::InspectorFrontendClientLocal::requestAttachWindow): * inspector/InspectorFrontendClientLocal.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::requestAttachWindow): * inspector/InspectorFrontendHost.h: * inspector/InspectorFrontendHost.idl: * inspector/front-end/inspector.js: (WebInspector.toggleAttach): 2010-04-06 Vitaly Repeshko Reviewed by Yury Semikhatsky. [V8] Extend the set of types supported by SerializedScriptValue https://bugs.webkit.org/show_bug.cgi?id=37052 New types include sparse arrays, Uint32, Date, and ImageData. Serialization process became more flexible. A state can either directly write primitive values (instead of returning them like iterator) or construct a new state for serializing complex values that will return to the current state when done. Deserialization process now avoids exposing the tags using a set of factory functions for complex objects instead. Internal buffer type changed to uint8_t to be independent of whether char is signed or not. * bindings/v8/SerializedScriptValue.cpp: (WebCore::): (WebCore::Writer::Writer): (WebCore::Writer::writeString): (WebCore::Writer::writeUint32): (WebCore::Writer::writeDate): (WebCore::Writer::writeNumber): (WebCore::Writer::writeImageData): (WebCore::Writer::writeArray): (WebCore::Writer::writeObject): (WebCore::Writer::writeSparseArray): (WebCore::Writer::doWriteUint32): (WebCore::Writer::doWriteNumber): (WebCore::Writer::append): (WebCore::Writer::fillHole): (WebCore::Writer::byteAt): (WebCore::Serializer::Serializer): (WebCore::Serializer::serialize): (WebCore::Serializer::writeArray): (WebCore::Serializer::writeObject): (WebCore::Serializer::writeSparseArray): (WebCore::Serializer::StateBase::StateBase): (WebCore::Serializer::ErrorState::ErrorState): (WebCore::Serializer::ErrorState::advance): (WebCore::Serializer::State::composite): (WebCore::Serializer::State::State): (WebCore::Serializer::ArrayState::ArrayState): (WebCore::Serializer::ArrayState::advance): (WebCore::Serializer::AbstractObjectState::AbstractObjectState): (WebCore::Serializer::AbstractObjectState::advance): (WebCore::Serializer::ObjectState::ObjectState): (WebCore::Serializer::ObjectState::objectDone): (WebCore::Serializer::SparseArrayState::SparseArrayState): (WebCore::Serializer::SparseArrayState::objectDone): (WebCore::Serializer::push): (WebCore::Serializer::pop): (WebCore::Serializer::handleError): (WebCore::Serializer::checkComposite): (WebCore::Serializer::writeString): (WebCore::Serializer::writeImageData): (WebCore::Serializer::newArrayState): (WebCore::Serializer::newObjectState): (WebCore::Serializer::doSerialize): (WebCore::Reader::Reader): (WebCore::Reader::read): (WebCore::Reader::readString): (WebCore::Reader::readUint32): (WebCore::Reader::readDate): (WebCore::Reader::readNumber): (WebCore::Reader::readImageData): (WebCore::Reader::doReadUint32): (WebCore::Reader::doReadNumber): (WebCore::Deserializer::Deserializer): (WebCore::Deserializer::createArray): (WebCore::Deserializer::createObject): (WebCore::Deserializer::createSparseArray): (WebCore::Deserializer::initializeObject): (WebCore::Deserializer::doDeserialize): (WebCore::Deserializer::stackDepth): (WebCore::SerializedScriptValue::deserialize): 2010-04-06 Csaba Osztrogonác Unreviewed buildfix for --minimal build. Buildfix after r57134. Add ENABLE(WORKERS) guard. original bug: https://bugs.webkit.org/show_bug.cgi?id=36375 * bindings/js/JSWorkerContextErrorHandler.cpp: 2010-04-06 Dirk Schulze Reviewed by Oliver Hunt. SVG/SMIL parse failure on attribute keySplines https://bugs.webkit.org/show_bug.cgi?id=37071 Test: svg/animations/animate-keySplines.html The String in 'keySplines' can have multiple spaces between numbers and delimiters. The parsing code is inspired by SVGParserUtilities and respects this. * svg/SVGAnimationElement.cpp: (WebCore::parseKeySplines): 2010-04-06 Yury Semikhatsky Reviewed by Pavel Feldman. Refactored error reporting mechanizm on Worker Global Objects. Unlike other event listeners which accept single argument(Event) onerror handler on worker global object should be a function accepting three arguments. This error reporting was implementedas EventListener::reportError method which had custom implementations for v8 and JSC. This patch removes EventListener::reportError and moves its functionality into custom bindings(V8WorkerContextErrorHandler and JSWorkerContextErrorHandler) that implement EventListener inerface for the onerror handler. This patch also makes uncaught exceptions that happen in the onerror listener be reported to the Worker's onerror handler. https://bugs.webkit.org/show_bug.cgi?id=36375 * Android.jscbindings.mk: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSBindingsAllInOne.cpp: * bindings/js/JSEventListener.cpp: * bindings/js/JSEventListener.h: * bindings/js/JSWorkerContextErrorHandler.cpp: Added. (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler): (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler): (WebCore::JSWorkerContextErrorHandler::handleEvent): * bindings/js/JSWorkerContextErrorHandler.h: Added. (WebCore::JSWorkerContextErrorHandler::create): (WebCore::createJSWorkerContextErrorHandler): * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorV8.pm: * bindings/v8/V8WorkerContextErrorHandler.cpp: Added. (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler): (WebCore::V8WorkerContextErrorHandler::callListenerFunction): * bindings/v8/V8WorkerContextErrorHandler.h: Added. (WebCore::V8WorkerContextErrorHandler::create): * bindings/v8/V8WorkerContextEventListener.cpp: * bindings/v8/V8WorkerContextEventListener.h: * dom/EventListener.h: * workers/WorkerContext.cpp: (WebCore::WorkerContext::WorkerContext): (WebCore::WorkerContext::reportException): * workers/WorkerContext.h: 2010-04-06 Pavel Feldman Not reviewed: reverting v8 change at r57079 for crashing Chromium layout tests. 2010-04-05 MORITA Hajime Reviewed by Darin Adler. RenderProgress.cpp is missing CurrentTime.h https://bugs.webkit.org/show_bug.cgi?id=37080 No new tests. just fixed compilation error. * rendering/RenderProgress.cpp: 2010-04-05 Eric Uhrhane Reviewed by Brady Eidson. window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5 https://bugs.webkit.org/show_bug.cgi?id=36671 The previous "fix" I mistakenly compared hashes, an improvement over comparing pointers, but still not right. No new tests. * storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Use SecurityOrigin::equal to compare instead of SecurityOriginHash. 2010-04-05 Anthony Ricaud Reviewed by Timothy Hatcher. Web Inspector: Audits launcher view is unusable with a small height window https://bugs.webkit.org/show_bug.cgi?id=37109 Use flex box instead of absolute positioning to avoid overlapping elements. * inspector/front-end/AuditLauncherView.js: (WebInspector.AuditLauncherView.prototype._createLauncherUI): * inspector/front-end/audits.css: (.audit-launcher-view .audit-launcher-view-content): (.audit-launcher-view div.button-container): (.audit-launcher-view .flexible-space): 2010-04-05 Luiz Agostini Reviewed by Kenneth Rohde Christiansen. [Qt] Maemo5 theme - wrong spelling https://bugs.webkit.org/show_bug.cgi?id=37110 Correcting wrong spelling in RenderThemeQt.cpp. * platform/qt/RenderThemeQt.cpp: 2010-04-05 Leandro Pereira Reviewed by Kenneth Rohde Christiansen. Add EFL-specific code to platform/Platform*Event.h. http://webkit.org/b/36309 * platform/PlatformWheelEvent.h: * platform/PlatformMouseEvent.h: * platform/PlatformKeyboardEvent.h: 2010-04-05 Leandro Pereira Reviewed by Kenneth Rohde Christiansen. Add EFL-specific code to platform/graphics/*.h. http://webkit.org/b/36308 * platform/graphics/Icon.h: * platform/graphics/IntRect.h: * platform/graphics/FloatRect.h: * platform/graphics/IntPoint.h: 2010-04-05 Robert Hogan Reviewed by Kenneth Rohde Christiansen. [Qt] Fix infinite redirection loop in QNetworkReplyHandler Put a maximum on consecutive redirections so we don't have to worry about whether it's the same url or not. Tolerate up to 10 consecutive redirections, anything beyond that is considered a potentially infinite recursion in the redirection requests. This is the same behaviour as Firefox. https://bugs.webkit.org/show_bug.cgi?id=37097 * platform/network/qt/QNetworkReplyHandler.cpp: (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): * platform/network/qt/QNetworkReplyHandler.h: 2010-04-05 Dimitri Glazkov and James Robinson Reviewed by Darin Adler and Dimitri Glazkov. Style update done due to mutation event dispatching in textarea can be used to corrupt the render tree. https://bugs.webkit.org/show_bug.cgi?id=36864 Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html fast/forms/select-change-popup-to-listbox-roundtrip.html fast/forms/textarea-and-mutation-events.html * dom/Document.cpp: (WebCore::Document::finishedParsing): Added updateStyleIfNeeded() call to ensure that object loads start before firing window load. * dom/Node.cpp: (WebCore::Node::dispatchGenericEvent): Removed invocation of Document::updateStyleForAllDocuments * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit recalc to ensure accuracy of representation, especially for menuList/listBox switches. 2010-04-05 Antonio Gomes Reviewed by Laszlo Gombos. Cleaned up spatial-navigation-test-cases.html by removing the wrongly used tag. Patch also adds a manual-test specifically to test Spatial Navigation with framesets. * manual-tests/spatial-navigation/frameset.html: Added. * manual-tests/spatial-navigation/spatial-navigation-test-cases.html: 2010-04-05 Mark Rowe Reviewed by Adele Peterson. Roll out r56989 as it introduced crashes in Mail. / * dom/Position.cpp: (WebCore::Position::isCandidate): * dom/PositionIterator.cpp: (WebCore::PositionIterator::isCandidate): 2010-04-05 Darin Adler Reviewed by Sam Weinig. Images must re-load when an image-holding element moves into a new document https://bugs.webkit.org/show_bug.cgi?id=37127 Test: fast/images/move-image-to-new-document.html * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::willMoveToNewOwnerDocument): Call ImageLoader's elementWillMoveToNewOwnerDocument function. * html/HTMLImageElement.h: Added willMoveToNewOwnerDocument. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Ditto. * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument): Ditto. * html/HTMLPlugInImageElement.h: Ditto. * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::willMoveToNewOwnerDocument): Ditto. * html/HTMLVideoElement.h: Ditto. * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::willMoveToNewOwnerDocument): Ditto. * svg/SVGImageElement.h: Ditto. * html/HTMLMediaElement.h: Made willMoveToNewOwnerDocument protected so it can be called by HTMLVideoElement.cpp. * loader/ImageLoader.cpp: (WebCore::ImageLoader::elementWillMoveToNewOwnerDocument): Added. Resets the loader by clearing out the cached image. * loader/ImageLoader.h: Added it. 2010-04-05 Laszlo Gombos Reviewed by Kenneth Rohde Christiansen. [Symbian] Consolidate Symbian WINSCW environment configuration https://bugs.webkit.org/show_bug.cgi?id=37100 Move the "undefinition" of WIN32 and _WIN32 from WebCore/config.h to JavaScriptCore/wtf/Platform.h as it is not specific to WebCore. No new tests as there is no new functionality. * config.h: 2010-04-05 Leandro Pereira Reviewed by Kenneth Rohde Christiansen. Add missing ClipboardEfl.h to platform/efl. http://webkit.org/b/36242 * platform/efl/ClipboardEfl.h: Added. 2010-04-05 Yuta Kitamura Reviewed by Darin Adler. Escape control characters in CSS string value when it is serialilzed. When WebKit serializes a CSS string value that contains binary characters ('\0\1\2' for example), it did not escape these characters. As a result, users got (invisible) control characters through scripts. This change fixes this issue. As a side effect, two separate codes for escaping CSS strings are merged, and become a public function (quoteCSSString). CSS string value is not correctly serialized when it contains binary characters https://bugs.webkit.org/show_bug.cgi?id=28938 Test: fast/css/string-quote-binary.html * css/CSSParser.cpp: (WebCore::isCSSTokenizerIdentifier): (WebCore::isCSSTokenizerURL): (WebCore::quoteCSSString): (WebCore::quoteCSSStringIfNeeded): (WebCore::quoteCSSURLIfNeeded): * css/CSSParser.h: * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText): * css/FontFamilyValue.cpp: (WebCore::FontFamilyValue::cssText): 2010-04-05 John Gregg Reviewed by Darin Adler. Notifications should not resolve an empty icon parameter as a relative URL https://bugs.webkit.org/show_bug.cgi?id=36862 * notifications/Notification.cpp: (WebCore::Notification::Notification): 2010-04-05 Darin Adler Reviewed by Mark Rowe. Removed some unneeded type casts. * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText): Removed an unneeded cast. * page/Location.cpp: (WebCore::Location::host): Removed unneeded parentheses and cast. (WebCore::Location::port): Ditto. * platform/KURLGoogle.cpp: (WebCore::KURL::setPort): Ditto. * workers/WorkerLocation.cpp: (WebCore::WorkerLocation::host): Ditto. (WebCore::WorkerLocation::port): Ditto. 2010-04-05 Sheriff Bot Unreviewed, rolling out r57081. http://trac.webkit.org/changeset/57081 https://bugs.webkit.org/show_bug.cgi?id=37121 We think it triggered two tests to fail on Tiger because of race conditions (Requested by abarth on #webkit). * dom/Node.cpp: (WebCore::Node::dispatchGenericEvent): * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute): 2010-04-05 Brady Eidson Reviewed by Oliver Hunt. ASSERT close()ing the same StorageAreaImpl twice when using multiple PageGroups and https://bugs.webkit.org/show_bug.cgi?id=37120 No new tests. (No behavior change) * storage/StorageNamespaceImpl.cpp: (WebCore::StorageNamespaceImpl::close): Change this invalid ASSERT to an early return. 2010-04-05 Sheriff Bot Unreviewed, rolling out r57030. http://trac.webkit.org/changeset/57030 https://bugs.webkit.org/show_bug.cgi?id=37114 Regressed fast/repaint/line-flow-with-floats-9 pixel tests in chromium port (Requested by jamesr on #webkit). * rendering/RenderBlock.h: * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::layoutInlineChildren): 2010-04-05 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=37111 Draw replacement text when plug-in host crashes * page/mac/WebCoreViewFactory.h: * platform/LocalizedStrings.h: * platform/mac/LocalizedStringsMac.mm: * platform/gtk/LocalizedStringsGtk.cpp: * platform/qt/Localizations.cpp: * platform/wx/LocalizedStringsWx.cpp: Added a localizable string for plug-in failure (only used on Mac at the moment). * WebCore.xcodeproj/project.pbxproj: Made RenderEmbeddedObject.h (and dependencies) private, since it's now used from WebKit. * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):m Removed m_showsMissingPluginIndicator initializer. (WebCore::RenderEmbeddedObject::updateWidget): Check m_replacementText instead of the removed m_showsMissingPluginIndicator. (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Load m_replacementText. (WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator): Ditto. (WebCore::RenderEmbeddedObject::paint): Check m_replacementText instead of the removed m_showsMissingPluginIndicator. (WebCore::RenderEmbeddedObject::paintReplaced): Draw arbitrary text from m_replacementText insted of just "Missing Plug-in". Renamed constants and variables accordingly. * rendering/RenderEmbeddedObject.h: Changed boolean for missing plug-in to a String holding actual replacement text. * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadPlugin): Adapted for the change in setShowsMissingPluginIndicator(), which no longer takes an argument. * WebCore/WebCore.base.exp: Exported RenderEmbeddedObject::setShowsCrashedPluginIndicator(). 2010-04-05 Chris Fleizach Reviewed by Darin Adler. Bug 37040 - AX: need to send selected children change notification when aria-selected changed https://bugs.webkit.org/show_bug.cgi?id=37040 When aria-selected is changed in the DOM, it will trigger a selected children change notification. Test: platform/mac/accessibility/aria-listbox-selectedchildren-change.html * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::selectedChildrenChanged): * accessibility/AXObjectCache.h: * accessibility/AccessibilityMediaControls.cpp: (WebCore::AccessibilityMediaControl::controlType): Remove extra whitespace before comment (webkit-style). * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::observableObject): Allowed a listBox to be an observable object. (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren): (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren): Updated and streamlined existing code. * dom/Element.cpp: (WebCore::Element::updateAfterAttributeChanged): 2010-04-05 Adam Treat Reviewed by Darin Adler. Fix regression in pixel test for animated svg background images. https://bugs.webkit.org/show_bug.cgi?id=37027 * svg/graphics/SVGImage.cpp: (WebCore::SVGImageChromeClient::invalidateContentsAndWindow): 2010-04-05 Robert Hogan Reviewed by Kenneth Rohde-Christiansen. [Qt] Fix infinite redirection loop in QNetworkReplyHandler Qt enters an infinite loop if a redirect response redirects to itself. Fixes http/tests/xmlhttprequest/connection-error-sync.html https://bugs.webkit.org/show_bug.cgi?id=37097 * platform/network/qt/QNetworkReplyHandler.cpp: (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 2010-04-05 Yury Semikhatsky Unreviewed, revert r57078. * Android.jscbindings.mk: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::reportError): * bindings/js/JSEventListener.h: * bindings/js/JSWorkerContextErrorHandler.cpp: Removed. * bindings/js/JSWorkerContextErrorHandler.h: Removed. * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorV8.pm: * bindings/v8/V8WorkerContextErrorHandler.cpp: Removed. * bindings/v8/V8WorkerContextErrorHandler.h: Removed. * bindings/v8/V8WorkerContextEventListener.cpp: (WebCore::V8WorkerContextEventListener::reportError): * bindings/v8/V8WorkerContextEventListener.h: * dom/EventListener.h: (WebCore::EventListener::reportError): * workers/WorkerContext.cpp: (WebCore::WorkerContext::WorkerContext): (WebCore::WorkerContext::reportException): * workers/WorkerContext.h: 2010-04-05 Dimitri Glazkov Reviewed by Darin Adler. Style update done due to mutation event dispatching in textarea can be used to corrupt the render tree. https://bugs.webkit.org/show_bug.cgi?id=36864 Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html fast/forms/select-change-popup-to-listbox-roundtrip.html fast/forms/textarea-and-mutation-events.html * dom/Node.cpp: (WebCore::Node::dispatchGenericEvent): Removed invocation of Document::updateStyleForAllDocuments * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit recalc to ensure accuracy of representation, especially for menuList/listBox switches. 2010-04-01 Kenneth Rohde Christiansen Reviewed by Dave Hyatt. iframe flattening doesn't flatten https://bugs.webkit.org/show_bug.cgi?id=36798 Fixed to the iframe flattening code so that the iframes on http://www.samisite.com/test-csb2nf/id43.htm are actually flattened. Covered by current tests. * page/FrameView.cpp: Propagate contents changes of iframes and subframes in framesets to the parent so that it is relayouted (WebCore::FrameView::setContentsSize): (WebCore::FrameView::adjustViewSize): (WebCore::FrameView::scheduleRelayout): * rendering/RenderPart.cpp: HTMLIFrameElement do not inherit from HTMLFrameElement, but HTMLFrameElementBase, correct cast. Correct the use of inset border values. Avoid a sometimes unnecessary relayout. (WebCore::RenderPart::layoutWithFlattening): * rendering/RenderPartObject.cpp: Make the calcHeight and calcWidth return the right values, considering scrolling and fixed width/height (WebCore::RenderPartObject::flattenFrame): (WebCore::RenderPartObject::calcHeight): (WebCore::RenderPartObject::calcWidth): (WebCore::RenderPartObject::layout): 2010-04-05 Vitaly Repeshko Reviewed by Yury Semikhatsky. [V8] Extend the set of types supported by SerializedScriptValue https://bugs.webkit.org/show_bug.cgi?id=37052 New types include sparse arrays, Uint32, Date, and ImageData. Serialization process became more flexible. A state can either directly write primitive values (instead of returning them like iterator) or construct a new state for serializing complex values that will return to the current state when done. Deserialization process now avoids exposing the tags using a set of factory functions for complex objects instead. Internal buffer type changed to uint8_t to be independent of whether char is signed or not. * bindings/v8/SerializedScriptValue.cpp: (WebCore::): (WebCore::Writer::Writer): (WebCore::Writer::writeString): (WebCore::Writer::writeUint32): (WebCore::Writer::writeDate): (WebCore::Writer::writeNumber): (WebCore::Writer::writeImageData): (WebCore::Writer::writeArray): (WebCore::Writer::writeObject): (WebCore::Writer::writeSparseArray): (WebCore::Writer::doWriteUint32): (WebCore::Writer::doWriteNumber): (WebCore::Writer::append): (WebCore::Writer::fillHole): (WebCore::Writer::byteAt): (WebCore::Serializer::Serializer): (WebCore::Serializer::serialize): (WebCore::Serializer::writeArray): (WebCore::Serializer::writeObject): (WebCore::Serializer::writeSparseArray): (WebCore::Serializer::StateBase::StateBase): (WebCore::Serializer::ErrorState::ErrorState): (WebCore::Serializer::ErrorState::advance): (WebCore::Serializer::State::composite): (WebCore::Serializer::State::State): (WebCore::Serializer::ArrayState::ArrayState): (WebCore::Serializer::ArrayState::advance): (WebCore::Serializer::AbstractObjectState::AbstractObjectState): (WebCore::Serializer::AbstractObjectState::advance): (WebCore::Serializer::ObjectState::ObjectState): (WebCore::Serializer::ObjectState::objectDone): (WebCore::Serializer::SparseArrayState::SparseArrayState): (WebCore::Serializer::SparseArrayState::objectDone): (WebCore::Serializer::push): (WebCore::Serializer::pop): (WebCore::Serializer::handleError): (WebCore::Serializer::checkComposite): (WebCore::Serializer::writeString): (WebCore::Serializer::writeImageData): (WebCore::Serializer::newArrayState): (WebCore::Serializer::newObjectState): (WebCore::Serializer::doSerialize): (WebCore::Reader::Reader): (WebCore::Reader::read): (WebCore::Reader::readString): (WebCore::Reader::readUint32): (WebCore::Reader::readDate): (WebCore::Reader::readNumber): (WebCore::Reader::readImageData): (WebCore::Reader::doReadUint32): (WebCore::Reader::doReadNumber): (WebCore::Deserializer::Deserializer): (WebCore::Deserializer::createArray): (WebCore::Deserializer::createObject): (WebCore::Deserializer::createSparseArray): (WebCore::Deserializer::initializeObject): (WebCore::Deserializer::doDeserialize): (WebCore::Deserializer::stackDepth): (WebCore::SerializedScriptValue::deserialize): 2010-04-05 Yury Semikhatsky Reviewed by Pavel Feldman. Refactored error reporting mechanizm on Worker Global Objects. Unlike other event listeners which accept single argument(Event) onerror handler on worker global object should be a function accepting three arguments. This error reporting was implementedas EventListener::reportError method which had custom implementations for v8 and JSC. This patch removes EventListener::reportError and moves its functionality into custom bindings(V8WorkerContextErrorHandler and JSWorkerContextErrorHandler) that implement EventListener inerface for the onerror handler. This patch also makes uncaught exceptions that happen in the onerror listener be reported to the Worker's onerror handler. https://bugs.webkit.org/show_bug.cgi?id=36375 * WebCore.gypi: * WebCore.pro: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSEventListener.cpp: * bindings/js/JSEventListener.h: * bindings/js/JSWorkerContextErrorHandler.cpp: Added. (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler): (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler): (WebCore::JSWorkerContextErrorHandler::handleEvent): * bindings/js/JSWorkerContextErrorHandler.h: Added. (WebCore::JSWorkerContextErrorHandler::create): (WebCore::createJSWorkerContextErrorHandler): * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorV8.pm: * bindings/v8/V8WorkerContextErrorHandler.cpp: Added. (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler): (WebCore::V8WorkerContextErrorHandler::callListenerFunction): * bindings/v8/V8WorkerContextErrorHandler.h: Added. (WebCore::V8WorkerContextErrorHandler::create): * bindings/v8/V8WorkerContextEventListener.cpp: * bindings/v8/V8WorkerContextEventListener.h: * dom/EventListener.h: Removed reportError method that was used only for reporting worker errors. * workers/WorkerContext.cpp: (WebCore::WorkerContext::WorkerContext): (WebCore::WorkerContext::reportException): * workers/WorkerContext.h: 2010-04-05 Antonio Gomes Reviewed by Darin Adler. Fix some "explicit braces to avoid ambiguous 'else'" warnings https://bugs.webkit.org/show_bug.cgi?id=37088 * dom/Node.cpp: (WebCore::Node::dispatchGenericEvent): * page/DOMWindow.cpp: (WebCore::DOMWindow::dispatchEvent): 2010-04-05 Laszlo Gombos Reviewed by Kenneth Rohde Christiansen. Consolidate the definition of SKIP_STATIC_CONSTRUCTORS_ON_GCC Instead of defining and undefining it later, let's not define SKIP_STATIC_CONSTRUCTORS_ON_GCC for WINSCW. No new tests as there is no new functionality. * config.h: 2010-04-05 Laszlo Gombos Reviewed by Kenneth Rohde Christiansen. [Qt] [Symbian] Remove obsolete build flags for Symbian https://bugs.webkit.org/show_bug.cgi?id=37083 Symbian port of QtWebKit port does not use icu, so it does not need U_HAVE_* defines. Symbian now has inttypes.h as part of OpenC. stdio.h, limits.h and MathExtras.h are already included in more appropriate locations. No new tests as there is no new functionality. * config.h: 2010-04-05 Pavel Feldman Not reviewed: chromium build fix. * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: (WebCore::V8InspectorFrontendHost::platformCallback): (WebCore::V8InspectorFrontendHost::portCallback): 2010-04-05 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: [REGRESSION] platform detection in Chromium has regressed to unknown. https://bugs.webkit.org/show_bug.cgi?id=37081 * bindings/js/JSInspectorFrontendHostCustom.cpp: (WebCore::JSInspectorFrontendHost::platform): (WebCore::JSInspectorFrontendHost::port): * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: (WebCore::V8InspectorFrontendHost::platform): (WebCore::V8InspectorFrontendHost::port): * inspector/InspectorFrontendHost.cpp: * inspector/InspectorFrontendHost.h: * inspector/InspectorFrontendHost.idl: 2010-04-05 Andrey Kosyakov Reviewed by Yury Semikhatsky. Remove logging of successful XHR and worker's importScript() to inspector console https://bugs.webkit.org/show_bug.cgi?id=37078 * bindings/js/JSWorkerContextCustom.cpp: (WebCore::JSWorkerContext::importScripts): * bindings/v8/custom/V8WorkerContextCustom.cpp: (WebCore::V8WorkerContext::importScriptsCallback): * workers/DedicatedWorkerContext.cpp: (WebCore::DedicatedWorkerContext::importScripts): * workers/DedicatedWorkerContext.h: * workers/WorkerContext.cpp: (WebCore::WorkerContext::importScripts): * workers/WorkerContext.h: * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFinishLoading): 2010-04-04 Pavel Feldman Not reviewed. Rolling out chromium changes r57028 and r57032 for breaking chromium layout tests. * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * platform/chromium/DragImageChromium.cpp: Added. (WebCore::dragImageSize): (WebCore::deleteDragImage): (WebCore::scaleDragImage): (WebCore::dissolveDragImageToFraction): (WebCore::createDragImageFromImage): (WebCore::createDragImageIconForCachedImage): * platform/chromium/DragImageChromiumMac.cpp: Removed. * platform/chromium/DragImageChromiumSkia.cpp: Removed. * platform/chromium/DragImageRef.h: 2010-03-29 Antonio Gomes Reviewed by Simon Fraser. Patch by Antonio Gomes Spatial Navigation: Initial code simplification in FocusController.cpp and SpatialNavigation.cpp WebCore::distanceInDirection method was handling much of the logic not strictly only related to the distance between nodes acquisition. This method was simplified and renamed to 'WebCore::distanceDataForNode'. The latter is now responsible for only getting the distance and alignment data, while all assignement logic previously in distanceInDirection method was moved place to updateFocusCandidateIfCloser. Parent document distance and alignment acquisitions, in turn, have also changed location: they are both got from deepFindFocusableNodeInDirection, and passed in a recursive call to findFocusableNodeInDirection via the candidateParent variable (optional parameter). In addition, the need for the 'focusCandidateCopy' variable in deepFindFocusableNodeInDirection method was removed, making the code much cleaner. No behaviour change at this point. Mostly moving code around to the place where it should live in. * page/FocusController.cpp: (WebCore::FocusController::advanceFocusDirectionally): (WebCore::updateFocusCandidateIfCloser): (WebCore::FocusController::findFocusableNodeInDirection): (WebCore::FocusController::deepFindFocusableNodeInDirection): * page/FocusController.h: * page/SpatialNavigation.cpp: (WebCore::distanceDataForNode): (WebCore::renderRectRelativeToRootDocument): * page/SpatialNavigation.h: 2010-04-04 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: In the inherited styles, do not render non-inherited properties as overriden. https://bugs.webkit.org/show_bug.cgi?id=37072 * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded): 2010-04-03 yael aharon Reviewed by Darin Adler. Enable HTMLProgressElement for Safari on OSX https://bugs.webkit.org/show_bug.cgi?id=36961 * Configurations/FeatureDefines.xcconfig: * WebCore.xcodeproj/project.pbxproj: * rendering/RenderThemeMac.h: * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar): (WebCore::RenderThemeMac::animationDurationForProgressBar): (WebCore::RenderThemeMac::adjustProgressBarStyle): (WebCore::RenderThemeMac::paintProgressBar): 2010-04-03 Jakub Wieczorek Unreviewed. Fix debug build with GCC >= 4.3. * platform/graphics/GraphicsLayer.cpp: Include stdio.h explicitly. 2010-04-03 Kenneth Russell Reviewed by Darin Fisher. Inconsistent failure modes from uniform[Matrix]* with null WebGLUniformLocation https://bugs.webkit.org/show_bug.cgi?id=36574 Fixed bugs in JavaScript bindings for uniform[Matrix]* entry points causing them to throw exceptions rather than synthesize GL errors. Fixed the implementations to synthesize INVALID_VALUE rather than INVALID_OPERATION to comply to the WebGL spec. Updated uniform-location-expected.txt to incorporate the correct error. Tested in Safari and Chromium. Test: fast/canvas/webgl/null-uniform-location.html * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: (WebCore::V8WebGLRenderingContext::getUniformCallback): (WebCore::vertexAttribAndUniformHelperf): (WebCore::uniformHelperi): (WebCore::uniformMatrixHelper): * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::uniform1f): (WebCore::WebGLRenderingContext::uniform1fv): (WebCore::WebGLRenderingContext::uniform1i): (WebCore::WebGLRenderingContext::uniform1iv): (WebCore::WebGLRenderingContext::uniform2f): (WebCore::WebGLRenderingContext::uniform2fv): (WebCore::WebGLRenderingContext::uniform2i): (WebCore::WebGLRenderingContext::uniform2iv): (WebCore::WebGLRenderingContext::uniform3f): (WebCore::WebGLRenderingContext::uniform3fv): (WebCore::WebGLRenderingContext::uniform3i): (WebCore::WebGLRenderingContext::uniform3iv): (WebCore::WebGLRenderingContext::uniform4f): (WebCore::WebGLRenderingContext::uniform4fv): (WebCore::WebGLRenderingContext::uniform4i): (WebCore::WebGLRenderingContext::uniform4iv): (WebCore::WebGLRenderingContext::uniformMatrix2fv): (WebCore::WebGLRenderingContext::uniformMatrix3fv): (WebCore::WebGLRenderingContext::uniformMatrix4fv): 2010-04-02 Andy Estes Reviewed by Adam Barth. The previous mechanism for testing whether an event was due to a user gesture only checked the event type, not the source of the event. This allowed scripts to defeat popup blocking by programatically emitting certain types of events. Change the user gesture detection to check for a flag that is only set when the event in question was generated through the platform and not through the DOM. https://bugs.webkit.org/show_bug.cgi?id=37008 Tests: fast/events/popup-allowed-from-gesture-initiated-event.html fast/events/popup-blocked-from-fake-button-click.html fast/events/popup-blocked-from-fake-focus.html * Android.mk: Add UserGestureIndicator.{cpp, h}. * GNUmakefile.am: Same. * WebCore.gypi: Same. * WebCore.pro: Same. * WebCore.vcproj/WebCore.vcproj: Same. * WebCore.xcodeproj/project.pbxproj: Same. * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::processingUserGesture): Check the value of UserGesureIndicator::processingUserGesture(). * dom/Document.cpp: (WebCore::Document::createEvent): Remove call to Event::setCreatedByDOM(). * dom/Event.cpp: (WebCore::Event::Event): Remove initializers for m_createdByDOM. (WebCore::Event::fromUserGesture): Check the value of UserGestureIndicator::processingUserGesture(). * dom/Event.h: Remove m_createdByDOM. * dom/UserGestureIndicator.cpp: Added. (WebCore::UserGestureIndicator::UserGestureIndicator): Save the previous value of s_processingUserGesture before setting it to true. (WebCore::UserGestureIndicator::~UserGestureIndicator): Restore s_processingUserGesture to its previous value. * dom/UserGestureIndicator.h: Added. (WebCore::UserGestureIndicator::processingUserGesture): Return the value of s_processingUserGesture. * page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEvent): Instantiate a UserGestureIndicator object on the stack to indicate a user gesture is being processed. (WebCore::EventHandler::handleMouseDoubleClickEvent): Same. (WebCore::EventHandler::handleMouseReleaseEvent): Same. (WebCore::EventHandler::keyEvent): Same. (WebCore::EventHandler::handleTouchEvent): Same. 2010-04-02 Justin Schuh Reviewed by Alexey Proskuryakov. XHR allows arbitrary XSRF across domains https://bugs.webkit.org/show_bug.cgi?id=36843 Added a one-line change to prevent bypassing the XDC check on synchronous preflighted requests. Added layout tests to cover variations of this problem. Tests: http/tests/xmlhttprequest/access-control-preflight-async-header-denied.html http/tests/xmlhttprequest/access-control-preflight-async-method-denied.html http/tests/xmlhttprequest/access-control-preflight-sync-header-denied.html http/tests/xmlhttprequest/access-control-preflight-sync-method-denied.html * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::preflightFailure): 2010-04-02 Nayan Kumar K Reviewed by Eric Seidel. Fix for WML enabled build failure. https://bugs.webkit.org/show_bug.cgi?id=36648 * wml/WMLOptionElement.cpp: (WebCore::WMLOptionElement::disabled): * wml/WMLOptionElement.h: * wml/WMLSelectElement.cpp: (WebCore::WMLSelectElement::listBoxSelectItem): * wml/WMLSelectElement.h: 2010-04-02 MORITA Hajime Reviewed by Alexey Proskuryakov. https://bugs.webkit.org/show_bug.cgi?id=37011 Position::primaryDirection() should not use its own accessor. No new tests. This is small clenaup with no behaviour change. * dom/Position.cpp: (WebCore::Position::primaryDirection): 2010-04-02 Eric Uhrhane Reviewed by Brady Eidson. window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5. This is caused by a SecurityOrigin pointer comparison that I should have switched to be a hash comparison in r56293 [bug 34991]. https://bugs.webkit.org/show_bug.cgi?id=36671 No new tests. Requires testing on Safari on Windows. * storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Convert a pointer comparison to use SecurityOriginHash::hash() instead, and move it to the end of the clause for speed in the easy-out case. 2010-04-02 Michael Nordman Reviewed by Nate Chapin. Set the close policy used by the DatabaseCloseTask in a constructor argument instead of hard coding it. https://bugs.webkit.org/show_bug.cgi?id=37037 No new tests, new new functionality. * storage/Database.cpp: This callsite passes in DoNotRemoveFromDatabaseContext to retain its current behavior. (WebCore::Database::markAsDeletedAndClose): * storage/DatabaseTask.cpp: (WebCore::DatabaseCloseTask::DatabaseCloseTask): (WebCore::DatabaseCloseTask::doPerformTask): * storage/DatabaseTask.h: (WebCore::DatabaseCloseTask::create): 2010-04-02 James Robinson Reviewed by Simon Fraser. Remove an ASSERT that sometimes flakes due to time dependent animations https://bugs.webkit.org/show_bug.cgi?id=37048 The outline repaint rectangle for a layer might change between two calls if there are animations involved, even if nothing in the DOM has actually changed between the calls. No change in behavior, no new tests. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions): 2010-04-02 Evan Stade Reviewed by Adam Barth. [chromium] need DragImage implementation https://bugs.webkit.org/show_bug.cgi?id=35811 Add two files that failed to get added in my previous patch. * platform/chromium/DragImageChromiumMac.cpp: Added. (WebCore::dragImageSize): (WebCore::deleteDragImage): (WebCore::scaleDragImage): (WebCore::dissolveDragImageToFraction): (WebCore::createDragImageFromImage): (WebCore::createDragImageIconForCachedImage): * platform/chromium/DragImageChromiumSkia.cpp: Added. (WebCore::dragImageSize): (WebCore::deleteDragImage): (WebCore::scaleDragImage): (WebCore::dissolveDragImageToFraction): (WebCore::createDragImageFromImage): (WebCore::createDragImageIconForCachedImage): 2010-04-02 Jer Noble Reviewed by Eric Carlson. Configure multi-language movies: when QuickTime has sufficiently loaded the movie, call into wkQTMovieSelectPreferredAlternates to select the movie's alternate tracks according to the user's language preferences. https://bugs.webkit.org/show_bug.cgi?id=36624 * WebCore.base.exp: * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates): If the movie is sufficiently loaded, call wkQTMovieSelectPreferredAlternates to set up the alternate tracks. * platform/mac/WebCoreSystemInterface.h: Declare WKQTMovieSelectPreferredAlternates. * platform/mac/WebCoreSystemInterface.mm: Add WKQTMovieSelectPreferredAlternates. 2010-04-02 James Robinson Reviewed by Darin Adler. Splits RenderBlock::layoutInline into smaller functions https://bugs.webkit.org/show_bug.cgi?id=36921 RenderBlock::layoutInlineChildren is 351 lines long and very difficult to comprehend or edit safely. This patch splits it up into a few slightly smaller functions. Most of the code is now in the 241 line layoutRunsAndFloats() which is a slight improvement. Perf neutral on the page cyclers. This doesn't introduce any function calls into the hottest layout paths inside layoutRunsAndFloats and findNextLineBreak. No change in behavior, no new tests. * rendering/RenderBlock.h: (WebCore::RenderBlock::FloatWithRect::FloatWithRect): * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::layoutReplacedElements): (WebCore::RenderBlock::createLineBoxesForResolver): (WebCore::RenderBlock::layoutRunsAndFloats): (WebCore::RenderBlock::layoutInlineChildren): 2010-04-02 Evan Stade Reviewed by Eric Seidel. [chromium] need DragImage implementation https://bugs.webkit.org/show_bug.cgi?id=35811 Basic implementation using SkBitmap. Transformations are not supported yet. No implementation for mac. * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * platform/chromium/DragImageChromium.cpp: * platform/chromium/DragImageRef.h: 2010-04-02 Evan Martin Reviewed by Eric Seidel. [chromium] font fallback for generic fonts picks wrong font https://bugs.webkit.org/show_bug.cgi?id=37033 When a page specifies the generic "monospace" font and the user's browser-configured monospace font doesn't exist, we previously relied on getLastResortFallbackFont to eventually pick a monospace font for us. But that doesn't quite work: WebKit first falls back to the user's "preferred standard font" before hitting the last resort code path. So if the above conditions hold but this font exists, we'll end up never hitting the last resort codepath. The fix is to allow OS-level font fallback when first attempting to resolve monospace. The existing code tried to do this, but the logic was wrong. We would eventually fall back to the correct font anyway so we didn't notice the logic was wrong. This code is all handling cases where particular fonts aren't installed, so I can't think of a way to test it; existing tests should still pass. * platform/graphics/chromium/FontCacheLinux.cpp: (WebCore::FontCache::createFontPlatformData): 2010-04-02 Andrew Scherkus Reviewed by Eric Carlson and Eric Seidel. Don't stop the playback event timer when media resource loading has suspended. https://bugs.webkit.org/show_bug.cgi?id=37003 When a user agent decides to suspend media resource loading and enters the NETWORK_IDLE state we are supposed to only stop the progress event timer but keep the playback timer running. Test: http/tests/media/video-play-suspend.html * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::setNetworkState): Only stop the progress event timer. 2010-04-02 Darin Adler Fix mispelling that broke the build. * html/canvas/CanvasRenderingContext2D.cpp: * html/canvas/CanvasRenderingContext2D.h: Dashbard -> Dashboard. 2010-04-02 David Levin Reviewed by Darin Adler. (non-generated) code should only use CanvasRenderingContext::canvas as a CanvasSurface. https://bugs.webkit.org/show_bug.cgi?id=36906 * dom/CanvasSurface.cpp: Added methods for items that depended on CanvasRenderingContext::canvas() being an HTMLElement(), so that this usage can be dealt with in one place. (WebCore::CanvasSurface::securityOrigin): Only used by methods that are only run in the document context. (WebCore::CanvasSurface::renderBox): Will likely return 0 in a worker context. (WebCore::CanvasSurface::computedStyle): Used by setFont. Return value is TBD for the worker context. (WebCore::CanvasSurface::styleSelector): Ditto. * dom/CanvasSurface.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): Passing in information into the CanvasRenderingContext2D constructor to eliminate some uses of document inside of the CanvasRenderingContext2D class. * html/HTMLCanvasElement.h: (WebCore::HTMLCanvasElement::renderBox): Added to disambiguate between the two parent class versions of the method. (WebCore::HTMLCanvasElement::computedStyle): Ditto. * html/canvas/CanvasRenderingContext2D.cpp: All of these changes are about removing document usage either by using a bool that is set in the constructor or by calling one of the new methods added to CanvasSurface. (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode): (WebCore::CanvasRenderingContext2D::checkOrigin): (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard): (WebCore::CanvasRenderingContext2D::createPattern): (WebCore::CanvasRenderingContext2D::setFont): (WebCore::CanvasRenderingContext2D::drawTextInternal): * html/canvas/CanvasRenderingContext2D.h: * html/canvas/WebGLRenderingContext.cpp: Removed some duplicate includes. (WebCore::WebGLRenderingContext::markContextChanged): Reduced calls to renderBox as it may become slightly more expensive in the future. (WebCore::WebGLRenderingContext::reshape): Ditto. 2010-04-02 Zhenyao Mo Reviewed by Eric Seidel. Implement and test new framebuffer object attachment behavior. https://bugs.webkit.org/show_bug.cgi?id=35611 Test: fast/canvas/webgl/framebuffer-object-attachment.html * html/canvas/WebGLFramebuffer.cpp: Keep track of attached stencil/depth renderbuffers in WebGLFramebuffer. (WebCore::WebGLFramebuffer::WebGLFramebuffer): (WebCore::WebGLFramebuffer::setIsAttached): * html/canvas/WebGLFramebuffer.h: Ditto. (WebCore::WebGLFramebuffer::isDepthAttached): (WebCore::WebGLFramebuffer::isStencilAttached): (WebCore::WebGLFramebuffer::isDepthStencilAttached): * html/canvas/WebGLRenderbuffer.cpp: Keep track of internalformat. (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): * html/canvas/WebGLRenderbuffer.h: Ditto. (WebCore::WebGLRenderbuffer::setInternalformat): (WebCore::WebGLRenderbuffer::getInternalformat): * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Detect stencil/depth buffer conflicts. (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Handling DEPTH_STENCIL case. (WebCore::WebGLRenderingContext::getRenderbufferParameter): Get correct WebGL internalformat. (WebCore::WebGLRenderingContext::renderbufferStorage): Detect illegal enums. * html/canvas/WebGLRenderingContext.idl: Add DEPTH_STENCIL enums. * platform/graphics/GraphicsContext3D.h: Add DEPTH_STENCIL enums. (WebCore::GraphicsContext3D::): * platform/graphics/mac/GraphicsContext3DMac.cpp: Map to correct DEPTH_STENCIL format. (WebCore::GraphicsContext3D::framebufferRenderbuffer): (WebCore::GraphicsContext3D::renderbufferStorage): (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): 2010-04-02 Kent Tamura Reviewed by Darin Adler. Form control state shouldn't be restored for hidden inputs. https://bugs.webkit.org/show_bug.cgi?id=26241 To fix this issue, we don't save values if it is not changed from the default value. Updating the value IDL attribute of some controls such as type=hidden also updates the value content attribute, and it's impossible to distinguish the initial value and the current value. The values of such controls are not saved. It won't be a problem because we want to save and restore user-edited values. Test: fast/forms/state-restore-to-non-edited-controls.html * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::saveFormControlState): Do not save the value if it is same as the default value. * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::saveFormControlState): ditto. 2010-04-02 Kent Tamura Reviewed by Darin Adler. Forms with autocomplete=off should not consume saved state https://bugs.webkit.org/show_bug.cgi?id=36762 Introduce Element::shouldSaveAndRestoreFormControlState() to check if we should save and restore control state. Test: fast/forms/state-restore-to-non-autocomplete-form.html * dom/Document.cpp: (WebCore::Document::formElementsState): Check shouldSaveAndRestoreFormControlState(). * dom/Element.h: (WebCore::Element::shouldSaveAndRestoreFormControlState): Added. It just returns true. * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElementWithState::autoComplete): Added. It return autocomplete state of the form. (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState): Added. It returns the result of autoComplete(). (WebCore::HTMLFormControlElementWithState::finishParsingChildren): Do not restore state if shouldSaveAndRestoreFormControlState() is false. * html/HTMLFormControlElement.h: Declare autoComplete() and overriding methods. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::autoComplete): Reduce code by using autoComplete() of the parent class. (WebCore::HTMLInputElement::saveFormControlState): Remove the autoComplete() check. Document::formElementsState() does equivalent check. 2010-04-02 Simon Fraser Reviewed by Darin Adler. Very bad scrolling-performance with the Trackpad at http://www.apple.com/ipad/app-store/ https://bugs.webkit.org/show_bug.cgi?id=36978 When we update compositing layers (which can happen on scrolling, when there are fixed position elements on the page), we can end up redundantly setting images as layer contents if we have to color-correct the image. This is because we call CGImageCreateCopyWithColorSpace(), which hands back a new image every time. Avoid this by storing a reference to the original uncorrected image, which is used to then avoid work if the image does not change. * platform/graphics/mac/GraphicsLayerCA.h: * platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::setContentsToImage): 2010-04-02 Simon Fraser Reviewed by Darin Adler. Avoid doing work in FrameView::scrollPositionChanged() if there are no fixed position elements https://bugs.webkit.org/show_bug.cgi?id=36994 r55890 added knowledge to FrameView about whether it contains any fixed-position elements. We can use this to avoid updating widget positions, and compositing layer positions when possible. * page/FrameView.cpp: (WebCore::FrameView::scrollPositionChanged): * page/FrameView.h: (WebCore::FrameView::hasFixedObjects): 2010-04-02 Nate Chapin Rubber-stamped by Dimitri Glazkov. http://trac.webkit.org/changeset/57004 caused fast/dom/console-log-stack-overflow.html to fail for Chromium. Add check for empty wrappers before using them to create a hidden reference. * bindings/scripts/CodeGeneratorV8.pm: 2010-04-01 Nate Chapin Reviewed by Dimitri Glazkov. [V8] Generalize (and generate!) the creation of hidden references between JS wrappers. https://bugs.webkit.org/show_bug.cgi?id=36777 * Android.v8bindings.mk: * WebCore.gypi: * bindings/scripts/CodeGeneratorV8.pm: Generate calls to setHiddenReference() in attribute getters. * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::setHiddenReference): Split common logic out of hidden setHiddenWindowReference (WebCore::V8DOMWrapper::setHiddenWindowReference): Now contains logic specific to putting a hidden reference on a global object. (WebCore::globalObjectPrototypeIsDOMWindow): Be more thorough in the COMPILE_ASSERTs. (WebCore::V8DOMWrapper::convertEventTargetToV8Object): Cleanup: Remove a duplicate if statement. * bindings/v8/V8DOMWrapper.h: * bindings/v8/WrapperTypeInfo.h: * bindings/v8/custom/V8BarInfoCustom.cpp: Removed. * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: (WebCore::toV8): * bindings/v8/custom/V8DOMSelectionCustom.cpp: Removed. * bindings/v8/custom/V8HistoryCustom.cpp: * bindings/v8/custom/V8LocationCustom.cpp: * bindings/v8/custom/V8MessageChannelConstructor.cpp: (WebCore::V8MessageChannel::constructorCallback): * bindings/v8/custom/V8NamedNodeMapCustom.cpp: (WebCore::toV8): * bindings/v8/custom/V8NavigatorCustom.cpp: Removed. * bindings/v8/custom/V8ScreenCustom.cpp: Removed. * bindings/v8/custom/V8StyleSheetCustom.cpp: (WebCore::toV8): * loader/appcache/DOMApplicationCache.h: (WebCore::DOMApplicationCache::frame): Add frame() accessor. 2010-04-01 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: start editing DOM and styles on click-and-pause. https://bugs.webkit.org/show_bug.cgi?id=36965 * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.onattach): (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown): (WebInspector.ElementsTreeElement.prototype.ondblclick): (WebInspector.ElementsTreeElement.prototype._handleClickAndPause): (WebInspector.ElementsTreeElement.prototype._startEditingTarget): (WebInspector.ElementsTreeElement.prototype._startEditingAttribute): (WebInspector.ElementsTreeElement.prototype._startEditingTextNode): (WebInspector.ElementsTreeElement.prototype._startEditingTagName): (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick): (WebInspector.StylePropertiesSection.prototype._handleSelectorClick): (WebInspector.StylePropertiesSection.prototype._handleSelectorClickAndPause): (WebInspector.StylePropertiesSection.prototype._handleSelectorDoubleClick): (WebInspector.StylePropertiesSection.prototype._startEditingOnMouseEvent): (WebInspector.StylePropertyTreeElement.prototype.onattach): (WebInspector.StylePropertyTreeElement.prototype): * inspector/front-end/inspector.css: * inspector/front-end/inspector.js: * inspector/front-end/treeoutline.js: (TreeElement.prototype._attach): (TreeElement.treeElementMouseDown): (TreeElement.prototype.selectOnMouseDown): 2010-04-02 Laszlo Gombos Unreviewed build fix when building --no-svg. Build fix after r56941. Add ENABLE(SVG) guard. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions): 2010-04-02 Yury Semikhatsky Reviewed by Pavel Feldman. Implement InspectorFrontendHost::showContextMenu for Chromium. Move inspector frontend context menu code from InspectorFrontendClient to InspectorFrontendHost as it's platform independent. https://bugs.webkit.org/show_bug.cgi?id=36817 * WebCore.Inspector.exp: * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: (WebCore::V8InspectorFrontendHost::showContextMenuCallback): * inspector/InspectorFrontendClient.h: * inspector/InspectorFrontendClientLocal.cpp: (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal): (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal): (WebCore::InspectorFrontendClientLocal::windowObjectCleared): * inspector/InspectorFrontendClientLocal.h: * inspector/InspectorFrontendHost.cpp: (WebCore::FrontendMenuProvider::create): (WebCore::FrontendMenuProvider::disconnect): (WebCore::FrontendMenuProvider::FrontendMenuProvider): (WebCore::FrontendMenuProvider::~FrontendMenuProvider): (WebCore::FrontendMenuProvider::populateContextMenu): (WebCore::FrontendMenuProvider::contextMenuItemSelected): (WebCore::FrontendMenuProvider::contextMenuCleared): (WebCore::InspectorFrontendHost::InspectorFrontendHost): (WebCore::InspectorFrontendHost::disconnectClient): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorFrontendHost.h: (WebCore::InspectorFrontendHost::create): 2010-04-02 Ilya Tikhonovsky Reviewed by Pavel Feldman. WebInspector: Timeline Overview pane should support short records filtering. https://bugs.webkit.org/show_bug.cgi?id=37020 * English.lproj/localizedStrings.js: * inspector/front-end/TimelineOverviewPane.js: (WebInspector.TimelineOverviewPane.prototype.update.markTimeline): (WebInspector.TimelineOverviewPane.prototype.update): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype._createStatusbarButtons): (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked): (WebInspector.TimelinePanel.prototype._refresh): (WebInspector.TimelinePanel.prototype._addToRecordsWindow): (WebInspector.TimelinePanel.FormattedRecord.prototype.isLong): 2010-04-02 Laszlo Gombos Reviewed by Eric Seidel. Accept XHTML-MP content type as XHTML content https://bugs.webkit.org/show_bug.cgi?id=34262 Enable processing XHTML-MP mime type as an XHTML document even if XHTML-MP support is not enabled. * platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedNonImageMimeTypes): 2010-04-02 Adam Barth Reviewed by Daniel Bates. Make XSSAuditor go fast with large POST data https://bugs.webkit.org/show_bug.cgi?id=36694 There were two things slowing down this bechmark: 1) Searching the large POST data for each inline event handler. To make this faster, we now use a suffix tree to fast-reject strings that don't appear as substrings of the POST data. 2) The next largest cost was flattening the form data into a string. To make this fater, we now use the form data object itself as a key and only flatten once. * GNUmakefile.am: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * page/XSSAuditor.cpp: (WebCore::XSSAuditor::CachingURLCanonicalizer::canonicalizeURL): (WebCore::XSSAuditor::CachingURLCanonicalizer::clear): (WebCore::XSSAuditor::XSSAuditor): (WebCore::XSSAuditor::findInRequest): * page/XSSAuditor.h: (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer): (WebCore::XSSAuditor::CachingURLCanonicalizer::generation): * platform/text/SuffixTree.h: Added. (WebCore::UnicodeCodebook::codeWord): (WebCore::UnicodeCodebook::): (WebCore::ASCIICodebook::codeWord): (WebCore::ASCIICodebook::): (WebCore::SuffixTree::SuffixTree): (WebCore::SuffixTree::mightContain): (WebCore::SuffixTree::Node::Node): (WebCore::SuffixTree::Node::~Node): (WebCore::SuffixTree::Node::at): (WebCore::SuffixTree::build): 2010-04-02 Roland Steiner Reviewed by Eric Seidel. Bug 36741 - Duplicate, slightly divergent implementation of Position[Iterator]::isCandidate() https://bugs.webkit.org/show_bug.cgi?id=36741 Patch: change Position::isCandididate() to call the PositionIterator::isCandidate() version. Update PositionIterator::isCandidate() to mirror Position::isCandidate(). Rationale: PositionIterator::isCandidate() is called in a tight loop within next/previousCandidate(). Also, creation of a PositionIterator from a Position is cheaper than vice-versa. Tests: ran all tests in 'editing'. * dom/Position.cpp: (WebCore::Position::isCandidate): * dom/PositionIterator.cpp: (WebCore::PositionIterator::isCandidate): 2010-04-02 Steve Falkenburg Reviewed by Dan Bernstein. Database code falsely returns errors due to errant pointer check https://bugs.webkit.org/show_bug.cgi?id=37014 r56943 introduced a check to see if there were any unprocessed SQL commands after calling sqlite3_prepare16_v2. Accessing the remaining data via pointer wasn't possible since the query string is deallocated immediately after the query runs. The String returned from strippedWhiteSpace goes out of scope at that point. Fix is to store the strippedWhiteSpace in a temporary String so we can access it via character ptr later in the function. * platform/sql/SQLiteStatement.cpp: (WebCore::SQLiteStatement::prepare): 2010-04-01 MORITA Hajime Reviewed by Darin Adler. setting document.title doesn't change document.title value https://bugs.webkit.org/show_bug.cgi?id=36802 An entity of "value" argument on HTMLTitleElement::setTitle() could be Document::m_title and be changed during HTMLTitleElement::setText(). Fix copying the argument to keep the original value. Test: fast/dom/Document/title-with-multiple-children.html * html/HTMLTitleElement.cpp: (WebCore::HTMLTitleElement::setText): 2010-04-01 Luiz Agostini Reviewed by Kenneth Rohde Christiansen. [Qt] Maemo5 theme - elements in Maemo5. * platform/qt/Maemo5Webstyle.cpp: (Maemo5WebStyle::drawMultipleComboButton): (Maemo5WebStyle::drawSimpleComboButton): (Maemo5WebStyle::getButtonImageSize): (Maemo5WebStyle::findComboButton): (Maemo5WebStyle::drawComplexControl): * platform/qt/Maemo5Webstyle.h: 2010-04-01 Kinuko Yasuda Reviewed by Dmitry Titov. Add FileThread for async file operation support in FileReader and FileWriter https://bugs.webkit.org/show_bug.cgi?id=36896 Add FileThread for async file operation support for FileReader and FileWriter. The patch also adds ENABLE_FILE_READER or ENABLE_FILE_WRITER build flags/defines. Both flags are disabled by default. No new tests, will add ones when after adding modules which use the thread. * Configurations/FeatureDefines.xcconfig: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::~ScriptExecutionContext): (WebCore::ScriptExecutionContext::fileThread): * dom/ScriptExecutionContext.h: * html/FileThread.cpp: Added. (WebCore::FileThread::FileThread): (WebCore::FileThread::~FileThread): (WebCore::FileThread::start): (WebCore::FileThread::stop): (WebCore::FileThread::postTask): (WebCore::SameFilePredicate::SameFilePredicate): (WebCore::SameFilePredicate::operator()): (WebCore::FileThread::removeTask): (WebCore::FileThread::fileThreadStart): (WebCore::FileThread::runLoop): * html/FileThread.h: Added. (WebCore::FileThread::create): (WebCore::FileThread::Task::Task): (WebCore::FileThread::Task::~Task): (WebCore::FileThread::Task::fileHandle): * platform/Logging.cpp: (WebCore::): (WebCore::getChannelFromName): * platform/Logging.h: 2010-04-01 Sheriff Bot Unreviewed. Rollout of http://trac.webkit.org/changeset/56930 https://bugs.webkit.org/show_bug.cgi?id=36977 * accessibility/AccessibilityImageMapLink.cpp: (WebCore::AccessibilityImageMapLink::accessibilityDescription): 2010-04-01 MORITA Hajime Reviewed by Darin Adler. WebCore::Document::updateLayoutIgnorePendingStylesheets NULL pointer https://bugs.webkit.org/show_bug.cgi?id=31680 Ownerless nodes leads a crash on DOMSelection APIs https://bugs.webkit.org/show_bug.cgi?id=36800 Added guards nodes from foreign documents to DOMSelection APIs. Tests: editing/selection/DOMSelection-DocumentType.html editing/selection/DOMSelection-crossing-document.html * editing/VisiblePosition.cpp: (WebCore::VisiblePosition::canonicalPosition): * page/DOMSelection.cpp: (WebCore::DOMSelection::collapse): (WebCore::DOMSelection::setBaseAndExtent): (WebCore::DOMSelection::setPosition): (WebCore::DOMSelection::extend): (WebCore::DOMSelection::containsNode): (WebCore::DOMSelection::isValidForPosition): * page/DOMSelection.h: 2010-04-01 Chris Evans Reviewed by Adam Barth. Fix a NULL pointer crash if @import fails to load a stylesheet. https://bugs.webkit.org/show_bug.cgi?id=36804 Test: fast/xsl/xslt-bad-import-uri.html * xml/XSLStyleSheetLibxslt.cpp: (WebCore::XSLStyleSheet::parseString): Handle an empty string gracefully. An empty string has a NULL buffer, which we pass in to xmlCreateMemoryParserCtxt(). It returns NULL if it is passed a NULL buffer. In the top-level XSL case, the current code does not crash "by luck" because the other APIs used can handle a NULL argument. In the @import case, additional code runs which will deference the NULL. 2010-04-01 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=36854 REGRESSION (r47291): Body from cross origin preflight response is prepended to the actual response body Tests: http/tests/xmlhttprequest/access-control-response-with-body-sync.html http/tests/xmlhttprequest/access-control-response-with-body.html * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveData): Don't send data to the client when handling a preflight request. 2010-04-01 Ada Chan Reviewed by Darin Adler. Change DatabaseTracker::deleteOrigin() to return true if there are no errors in deleting the origin. Ditto for DatabaseTracker::deleteDatabase(). https://bugs.webkit.org/show_bug.cgi?id=36988 * storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::deleteOrigin): (WebCore::DatabaseTracker::deleteDatabase): * storage/DatabaseTracker.h: 2010-04-01 Simon Fraser No review. Remove some casts that I indended to remove before committing r56948. * rendering/RenderTreeAsText.cpp: (WebCore::writeRenderObject): (WebCore::write): 2010-04-01 Simon Fraser Reviewed by Darin Adler. Assertion failure (willBeComposited == needsToBeComposited(layer)) in RenderLayerCompositor::computeCompositingRequirements() on hulu.com https://bugs.webkit.org/show_bug.cgi?id=36516 Fix assertions added in r56017. That changed replaced calls to needsToBeComposited() with use of the local 'willBeComposited' variable, but that fails to take into account the fact that needsToBeComposited() also tests layer->isSelfPaintingLayer(). Fix by adding a canBeComposited() method that we call before testing whether the layer should go into compositing mode. Test: compositing/self-painting-layers2.html * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::calculateCompositedBounds): Repace use of isSelfPaintingLayer() with a call to canBeComposited(). (WebCore::RenderLayerCompositor::computeCompositingRequirements): Call canBeComposited() to ensure that we only toggle 'willBeComposited' for layers that can. (WebCore::RenderLayerCompositor::needsToBeComposited): Call canBeComposited(). (WebCore::RenderLayerCompositor::canBeComposited): Test if compositing is enabled, and whether the layer is self-painting. * rendering/RenderLayerCompositor.h: Add canBeComposited(). 2010-04-01 Simon Fraser Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=36980 Add object addresses to debug showLayerTree() output. Add the ability to print RenderLayer and RenderObject addresses in the showLayerTree() output. * platform/text/TextStream.cpp: (WebCore::TextStream::operator<<): * platform/text/TextStream.h: * rendering/RenderLayer.cpp: (showLayerTree): * rendering/RenderTreeAsText.cpp: (WebCore::writeRenderObject): (WebCore::write): * rendering/RenderTreeAsText.h: 2010-03-29 Dumitru Daniliuc Reviewed by Dimitri Glazkov. Changing SQLiteStatement::prepare() to return an error when it's given a string that has more than one statement in it. Currently, everything past the first statement is silently ignored. Test: storage/executesql-accepts-only-one-statement.html * platform/sql/SQLiteStatement.cpp: (WebCore::SQLiteStatement::prepare): 2010-04-01 James Robinson Reviewed by Simon Fraser. Keeps a transient optimistic offset to the root in RenderLayer::updateLayerPositions https://bugs.webkit.org/show_bug.cgi?id=33520 RenderLayer::updateLayerPositions() makes a recursive walk through all RenderLayers and updates the repaint rectangles on each. These rectangles have to be calculated in the repaint container's coordinates using RenderObject::mapLocalToContainer to walk up to the repaint container. This patch keeps track of the offset to the root and uses that offset instead of walking back up to the root every time. Tests: fast/layers/nested-layers-1.html fast/layers/nested-layers-2.html fast/layers/nested-layers-3.html fast/layers/nested-layers-4.html * page/FrameView.cpp: (WebCore::FrameView::layout): * rendering/RenderBox.cpp: (WebCore::RenderBox::outlineBoundsForRepaint): * rendering/RenderBox.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions): * rendering/RenderLayer.h: * rendering/RenderObject.h: (WebCore::RenderObject::outlineBoundsForRepaint): * rendering/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::outlineBoundsForRepaint): * rendering/RenderSVGModelObject.h: 2010-04-01 Daniel Bates Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=36901 Removed functions Range::operator == and Range::operator != as they were using C++ code that was not sound and hence may have undefined behavior. Test case: manual-tests/crash-on-find-with-no-selection.html * dom/Range.cpp: (WebCore::areRangesEqual): Added. * dom/Range.h: * editing/markup.cpp: (WebCore::createMarkup): Modified to call WebCore::areRangesEqual. * manual-tests/crash-on-find-with-no-selection.html: Added. * page/Frame.cpp: (WebCore::Frame::findString): Modified to call WebCore::areRangesEqual. 2010-04-01 Geoffrey Garen Reviewed by Sam Weinig. Synchronous rendering when setting form control values slows down JavaScript https://bugs.webkit.org/show_bug.cgi?id=36967 This patch basically reverts http://trac.webkit.org/changeset/19006. Dan asked me to investigate why 19006 is no longer needed. I have two answers: (1) I was also able to remove the synchronous call to updateFromElement(). That call was the proximate cause of the crash that 19006 fixed. (2) updateFromElement() no longer calls HTMLElement::setInnerText() in the way that it used to. (However, it doesn't seem prudent to rely on this happy coincidence.) * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValue): Simplified some logic here. Moved setNeedsValidityCheck() outside of individual 'if' clauses, since they all called it. Removed call to updateStyleIfNeeded(), which does rendering synchronously, since that was the performance problem. (setNeedsStyleRecalc() ensures that rendering will happen asynchronously.) Also removed comment about ordering dangers introduced by updateStyleIfNeeded(). Removed call to updateFromElement(), since it's dangerous and also a minor performance problem. (setNeedsStyleRecalc() ensures that updateFromElement() will happen asynchronously, too.) * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setNonDirtyValue): Ditto. Here, I had to add a call to setNeedsStyleRecalc(), since there wasn't one before. 2010-04-01 Ilya Tikhonovsky Reviewed by Pavel Feldman. Web Inspector: Sometimes js code can detach page from it's frame and in that case Dispatch Events will stay in the TimelineAgent's events stack. Only immediate events will appear at frontend. https://bugs.webkit.org/show_bug.cgi?id=36890 * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::callFunction): * dom/Node.cpp: (WebCore::Node::dispatchGenericEvent): * page/DOMWindow.cpp: (WebCore::DOMWindow::dispatchEvent): 2010-04-01 Chris Fleizach Reviewed by Beth Dakin. Bug 36977 - aria-label doesn't work on image map area https://bugs.webkit.org/show_bug.cgi?id=36977 Test: platform/mac/accessibility/area-with-aria-label.html * accessibility/AccessibilityImageMapLink.cpp: (WebCore::AccessibilityImageMapLink::accessibilityDescription): 2010-04-01 Simon Fraser Reviewed by Dan Bernstein. Assertion failure: !repaintContainer || repaintContainer == this https://bugs.webkit.org/show_bug.cgi?id=36672 RenderText's implementation of clippedOverflowRectForRepaint() uses containingBlock() to get the renderer to use for computing the repaint rect. However, the renderer returned by containingBlock() may be an ancestor of the repaintContainer, and containingBlock() doesn't have the 'repaintContainerSkipped' logic that container() has. So in this case, check to see whether repaintContainer is actually a descendant of the containing block, and in that case just repaint the entire repaintContainer. Test: compositing/repaint/inline-repaint-container.html * rendering/RenderText.cpp: (WebCore::RenderText::clippedOverflowRectForRepaint): 2010-04-01 Csaba Osztrogonác Reviewed by Jian Li. [Qt] REGRESSION(r56869): Windows build is broken https://bugs.webkit.org/show_bug.cgi?id=36929 * WebCore.pro: LIBS += -lOle32 added. * platform/UUID.cpp: Define ARRAYSIZE macro if it isn't defined before. 2010-04-01 Chris Fleizach Reviewed by Beth Dakin. Bug 36968 - 1 crash in Safari at com.apple.WebCore: WebCore::Element::getAttribute const https://bugs.webkit.org/show_bug.cgi?id=36968 Test: accessibility/crash-with-noelement-selectbox.html When a elements should be rendered as menu lists. https://bugs.webkit.org/show_bug.cgi?id=36367 Enabling NO_LISTBOX_RENDERING in WebCore.pri for Maemo5. * WebCore.pri: 2010-03-22 Joseph Pecoraro Reviewed by David Kilzer. Upstream iPhone KeyEvent platform code and share with Mac platform https://bugs.webkit.org/show_bug.cgi?id=35870 * platform/iphone/KeyEventCodesIPhone.h: Improper comment for #endif. * platform/iphone/KeyEventIPhone.mm: Fixed headers. 2010-03-23 David Hyatt Reviewed by Jeremy Orlow. https://bugs.webkit.org/show_bug.cgi?id=36277, make sure nth-child supports the positive unary prefix (+) as well as the negative one (-). Added fast/css/nth-child-unary-prefix.html * css/tokenizer.flex: 2010-03-23 Andrey Kosyakov Reviewed by Dmitry Titov. Change notification sent to inspector frontend on workers creation / destruction to be posted asynchronously to avoid JS reenterability problems. Also, renamed willDestroyWorker to didDestroyWorker to reflect that it gets called later and got rid of explicit IDs for workers (use addresses instead). https://bugs.webkit.org/show_bug.cgi?id=36213 * inspector/InjectedScriptHost.cpp: (WebCore::InjectedScriptHost::didDestroyWorker): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptHost.idl: * inspector/InspectorController.cpp: (WebCore::PostWorkerNotificationToFrontendTask::create): (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask): (WebCore::PostWorkerNotificationToFrontendTask::performTask): (WebCore::InspectorController::postWorkerNotificationToFrontend): (WebCore::InspectorController::didCreateWorker): (WebCore::InspectorController::didDestroyWorker): * inspector/InspectorController.h: (WebCore::InspectorController::): * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::didDestroyWorker): * inspector/InspectorFrontend.h: * inspector/InspectorWorkerResource.h: (WebCore::InspectorWorkerResource::create): (WebCore::InspectorWorkerResource::id): (WebCore::InspectorWorkerResource::InspectorWorkerResource): * inspector/front-end/InjectedFakeWorker.js: (InjectedFakeWorker.FakeWorker.prototype.terminate): * inspector/front-end/WorkersSidebarPane.js: (WebInspector.didDestroyWorker): * workers/AbstractWorker.cpp: (WebCore::AbstractWorker::AbstractWorker): (WebCore::AbstractWorker::onDestroyWorker): * workers/AbstractWorker.h: (WebCore::AbstractWorker::asID): * workers/SharedWorker.cpp: (WebCore::SharedWorker::SharedWorker): * workers/Worker.cpp: (WebCore::Worker::Worker): 2010-03-22 David Hyatt Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=36266, support DOM Level 3 focusin/focusout events. Add support for IE onfocusin/onfocusout extensions to HTML. The old DOM level 2 names (DOMFocusIn/DOMFocusOut are still supported). Added fast/events/focusinout.html * dom/Document.cpp: (WebCore::Document::setFocusedNode): * dom/Event.cpp: (WebCore::Event::aliasedType): (WebCore::Event::hasAliasedType): * dom/Event.h: * dom/EventNames.h: * dom/EventTarget.cpp: (WebCore::EventTarget::fireEventListeners): * dom/EventTarget.h: * dom/Node.cpp: (WebCore::Node::dispatchUIEvent): * html/HTMLAttributeNames.in: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::parseMappedAttribute): * html/HTMLElement.cpp: (WebCore::HTMLElement::parseMappedAttribute): * html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::parseMappedAttribute): * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::parseMappedAttribute): * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute): * svg/SVGElement.cpp: (WebCore::SVGElement::parseMappedAttribute): 2010-03-23 MORITA Hajime Reviewed by Alexey Proskuryakov. WebCore::SelectionController::setSelection NULL pointer https://bugs.webkit.org/show_bug.cgi?id=31545 Added missing NULL-check that other APIs have. Test: svg/dom/frame-related-api-during-load.html * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::deselectAll): 2010-03-23 Qi Zhang Reviewed by Simon Hausmann. [Qt] LayoutTests/fast/canvas/fillrect_gradient.html failed https://bugs.webkit.org/show_bug.cgi?id=36444 Handle duplicated or unsorted colorStop at platformDestory * platform/graphics/qt/GradientQt.cpp: (WebCore::Gradient::platformGradient): 2010-03-23 Julien Chaffraix Unreviewed build fix. Try to make the window buildbot happy. * xml/XMLHttpRequestProgressEventThrottle.cpp: * xml/XMLHttpRequestProgressEventThrottle.h: Move initialization of the static const in the cpp file. 2010-03-23 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: make gear menu appear on styles panel at all times. https://bugs.webkit.org/show_bug.cgi?id=36490 * inspector/front-end/inspector.css: 2010-03-23 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: render nodes in inherited style bars as links. https://bugs.webkit.org/show_bug.cgi?id=36486 * English.lproj/localizedStrings.js: * inspector/front-end/BreakpointsSidebarPane.js: (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.breakpointClicked): (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype._update.else.insertInheritedNodeSeparator): (WebInspector.StylesSidebarPane.prototype._update): (WebInspector.StylesSidebarPane.prototype._selectNode): * inspector/front-end/inspector.js: 2010-03-23 Julien Chaffraix Reviewed by Alexey Proskuryakov. [XHR] onProgress event needs to be dispatched according to what the specification states https://bugs.webkit.org/show_bug.cgi?id=18654 Test: http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html * Android.mk: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: Added XMLHttpRequestProgressEventThrottle to the build systems. * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::XMLHttpRequest): Created the throttle. (WebCore::XMLHttpRequest::callReadyStateChangeListener): The 'readyState' event are dispatched using the XMLHttpRequestProgressEventThrottle now. For the DONE state, we need to flush any pending progress event as we do not want it to be dispatched after the DONE readyState event. (WebCore::XMLHttpRequest::createRequest): Made this event use the XMLHttpRequestProgressEventThrottle for event dispatching. (WebCore::XMLHttpRequest::abort): Ditto. (WebCore::XMLHttpRequest::networkError): Ditto. (WebCore::XMLHttpRequest::abortError): Ditto. (WebCore::XMLHttpRequest::didReceiveData): Ditto. Also fixed a potential warning. (WebCore::XMLHttpRequest::suspend): (WebCore::XMLHttpRequest::resume): Implemented the logic for suspend / resume. * xml/XMLHttpRequest.h: * xml/XMLHttpRequestProgressEventThrottle.cpp: Added. (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle): (WebCore::XMLHttpRequestProgressEventThrottle::~XMLHttpRequestProgressEventThrottle): (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): Implemented the bulk of the event throttling here: we use a timer to do so, as long as the timer is active it means that events are coming faster than the throttling time and we coalesce them. (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent): Generic method to dispatch an event. (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): Called when we want to dispatch any pending events and stopping any further dispatching. (WebCore::XMLHttpRequestProgressEventThrottle::dispatchPausedEvent): Used to dispatch the event that was queued due to the object being suspended. (WebCore::XMLHttpRequestProgressEventThrottle::fired): Used to dispatch any coalesced event. (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch): Used to check if we have an event to dispatch. (WebCore::XMLHttpRequestProgressEventThrottle::suspend): Marked the object as suspended. (WebCore::XMLHttpRequestProgressEventThrottle::resume): Dispatched the event that was queued. * xml/XMLHttpRequestProgressEventThrottle.h: Added. (WebCore::): (WebCore::XMLHttpRequestProgressEventThrottle::suspended): 2010-03-23 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Element inspector search funtion: Error dispatching: performSearch. https://bugs.webkit.org/show_bug.cgi?id=36488 Test: inspector/elements-panel-search.html * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.performSearch): (WebInspector.ElementsPanel.prototype.addNodesToSearchResult): * inspector/front-end/InjectedScript.js: (injectedScriptConstructor.): (injectedScriptConstructor): 2010-03-23 Qi Zhang Reviewed by Simon Hausmann. [Qt] fast/canvas/patternfill-repeat.html failed. https://bugs.webkit.org/show_bug.cgi?id=34477 Change Pattern to expose the repeatX and repeatY At GraphicsContextQt to apply repeatX and repeatY * platform/graphics/Pattern.h: (WebCore::Pattern::repeatX): (WebCore::Pattern::repeatY): * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::drawLine): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::rotate): 2010-03-23 Alex Milowski Reviewed by Kenneth Rohde Christiansen. Removed the use of beta STIX fonts. * css/mathml.css: 2010-03-23 Gustavo Noronha Silva Reviewed by Holger Freyther. [GTK] Does not build with latest GTK+ development release https://bugs.webkit.org/show_bug.cgi?id=36398 Fix building with newest GTK+ versions. * GNUmakefile.am: * platform/gtk/GtkPluginWidget.cpp: (WebCore::GtkPluginWidget::invalidateRect): (WebCore::GtkPluginWidget::paint): * platform/gtk/GtkVersioning.h: Added. * platform/gtk/PlatformScreenGtk.cpp: (WebCore::getVisual): (WebCore::screenRect): (WebCore::screenAvailableRect): * platform/gtk/ScrollbarGtk.cpp: (ScrollbarGtk::paint): * plugins/gtk/gtk2xtbin.c: (gtk_xtbin_set_position): (gtk_xtbin_unrealize): 2010-03-23 Laszlo Gombos Reviewed by Kenneth Rohde Christiansen. [Qt] Remove support for Qt v4.4 https://bugs.webkit.org/show_bug.cgi?id=36389 No new tests as there is no new functionality. * WebCore.pri: * WebCore.pro: * platform/network/qt/ResourceHandleQt.cpp: (WebCore::ResourceHandle::willLoadFromCache): * platform/qt/CookieJarQt.cpp: (WebCore::setCookies): (WebCore::cookies): * platform/qt/KURLQt.cpp: (WebCore::KURL::operator QUrl): * platform/qt/ScrollbarThemeQt.cpp: (WebCore::ScrollbarThemeQt::paintScrollCorner): * plugins/mac/PluginViewMac.cpp: 2010-03-23 Kent Tamura Reviewed by Adam Barth. Add checks if setNeedsWillValidateCheck() and setNeedsValidityCheck() are called correctly. https://bugs.webkit.org/show_bug.cgi?id=34924 Introduce HTMLFormControlElement::m_willValidate and m_isValid. They are the caches of willValidate() and isValidFormControlElement(). setNeedsWillValidateCheck() updates m_willValidate and setNeedsValidityCheck() updates m_isValid. willValidate() and isValidFormControlElement() have assertions to check m_willvalidate or m_isValid has the correct state. If setNeedsWillValidateCheck() or setNeedsValidityCheck() is needed to be called and is not called, these assertions fail. * html/HTMLButtonElement.h: (WebCore::HTMLButtonElement::recalcWillValidate): * html/HTMLFieldSetElement.h: (WebCore::HTMLFieldSetElement::recalcWillValidate): * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::HTMLFormControlElement): (WebCore::HTMLFormControlElement::parseMappedAttribute): (WebCore::HTMLFormControlElement::recalcWillValidate): (WebCore::HTMLFormControlElement::willValidate): (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck): (WebCore::HTMLFormControlElement::validationMessage): (WebCore::HTMLFormControlElement::isValidFormControlElement): (WebCore::HTMLFormControlElement::setNeedsValidityCheck): * html/HTMLFormControlElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setInputType): (WebCore::HTMLInputElement::parseMappedAttribute): (WebCore::HTMLInputElement::setValue): (WebCore::HTMLInputElement::recalcWillValidate): * html/HTMLInputElement.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setNonDirtyValue): 2010-03-22 Pavel Feldman Reviewed by Dave Hyatt. Web Inspector: display CSS selector source line in the styles sidebar pane. https://bugs.webkit.org/show_bug.cgi?id=36414 This change adds a sourceLine field into the CSSStyleRule that is populated from within the parser. CSSParser is now keeping track of the line numbers and last selector line number that is being used while creating CSSStyleRules. Test: inspector/styles-source-lines.html * css/CSSGrammar.y: * css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::lex): (WebCore::CSSParser::countLines): (WebCore::CSSParser::createStyleRule): * css/CSSParser.h: (WebCore::CSSParser::updateLastSelectorLine): * css/CSSStyleRule.cpp: (WebCore::CSSStyleRule::CSSStyleRule): * css/CSSStyleRule.h: (WebCore::CSSStyleRule::create): (WebCore::CSSStyleRule::sourceLine): * css/tokenizer.flex: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::buildObjectForRule): * inspector/front-end/DOMAgent.js: (WebInspector.CSSStyleDeclaration.parseRule): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertiesSection): 2010-03-22 Qi Zhang Reviewed by Laszlo Gombos. [Qt] Fix arc function in canvas https://bugs.webkit.org/show_bug.cgi?id=36296 Based on HTLM5 spec (4.8.10.1.8 Complex shapes), arc function should draw a line to previous point, not only the arc. * platform/graphics/qt/PathQt.cpp: (WebCore::Path::addArc): 2010-03-19 Abhishek Arya Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=36339 Off-by-one memory corruption fix for long invalid websockets upgrade header Test: websocket/tests/long-invalid-header.html * websockets/WebSocketHandshake.cpp: (WebCore::WebSocketHandshake::readServerHandshake): 2010-03-22 Fumitoshi Ukai Unreviewed build fix for Chromim Mac at r56376 Fix initializer order of PopupContainer. * platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupContainer::PopupContainer): 2010-03-22 Jay Campan Reviewed by Darin Fisher. Making Chromium select popups not steal activation from the browser. Select popups are now like autocomplete popups, shown in non-activated windows. https://bugs.webkit.org/show_bug.cgi?id=36062 * page/chromium/ChromeClientChromium.h: * platform/chromium/PopupMenuChromium.cpp: (WebCore::): (WebCore::PopupContainer::create): (WebCore::PopupContainer::PopupContainer): (WebCore::PopupContainer::~PopupContainer): (WebCore::PopupContainer::showPopup): (WebCore::PopupContainer::showExternal): (WebCore::PopupContainer::hidePopup): (WebCore::PopupMenu::show): * platform/chromium/PopupMenuChromium.h: (WebCore::PopupContainer::): (WebCore::PopupContainer::popupType): 2010-03-22 Dmitry Titov Reviewed by Nate Chapin. [v8] Crash if the worker is terminated before its initial script is executed. https://bugs.webkit.org/show_bug.cgi?id=36336 Test: fast/workers/termination-early.html * bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Check for 0 context. When terminated, the v8 heap initialization returns 0. (WebCore::WorkerContextExecutionProxy::evaluate): Don't execute script if initialization failed. * bindings/v8/WorkerContextExecutionProxy.h: 2010-03-22 Andrey Kosyakov Reviewed by Pavel Feldman. Support creation of fake workers before document is loaded by deferring attaching of fake workers iframe until document is loaded and buffering all messages addressed to worker. https://bugs.webkit.org/show_bug.cgi?id=36445 * inspector/front-end/InjectedFakeWorker.js: (InjectedFakeWorker.FakeWorker.prototype.postMessage): (InjectedFakeWorker.FakeWorker.prototype._buildWorker): (InjectedFakeWorker.FakeWorker.prototype._attachWorkerFrameToDocument): (InjectedFakeWorker.FakeWorker.prototype._onWorkerFrameLoaded): 2010-03-22 Darin Fisher Reviewed by Brady Eidson. HistoryController::replaceState() should modify m_currentItem instead of the current HistoryItem of the BackForwardList. https://bugs.webkit.org/show_bug.cgi?id=36435 Test: fast/loader/stateobjects/replacestate-in-iframe.html * loader/HistoryController.cpp: (WebCore::HistoryController::replaceState): 2010-03-22 Joseph Pecoraro Reviewed by David Kilzer. Upstream Part of the iPhone Platform sharing code with the Mac Platform https://bugs.webkit.org/show_bug.cgi?id=35870 and Part 3 of 3: Shared code between iphone and mac. The shared code was refactored to be usable by both platforms without platform specific typing, meaning no NSEvent versus WebEvent special cases. Shared code usable by either mac or iphone platforms. * platform/cocoa/KeyEventCocoa.h: * platform/cocoa/KeyEventCocoa.mm: (WebCore::keyIdentifierForCharCode): (WebCore::windowsKeyCodeForKeyCode): (WebCore::windowsKeyCodeForCharCode): Make use of the shared code. Keep anything platform specific in the original file before calling the shared code. * platform/iphone/KeyEventIPhone.mm: (WebCore::keyIdentifierForKeyEvent): * platform/mac/KeyEventMac.mm: (WebCore::keyIdentifierForKeyEvent): (WebCore::windowsKeyCodeForKeyEvent): 2010-03-22 Kevin Decker Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=36328 * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Fix a find/repalce mistake from my earlier patch. Rename m_setShowsMissingPluginIndicator -> m_showsMissingPluginIndicator. (WebCore::RenderEmbeddedObject::updateWidget): Don't update the widget if we're showing the missing plug-in indicator. (WebCore::RenderEmbeddedObject::paint):Fix a find/repalce mistake from my earlier patch. Rename m_setShowsMissingPluginIndicator -> m_showsMissingPluginIndicator. (WebCore::RenderEmbeddedObject::paintReplaced): Ditto. * rendering/RenderEmbeddedObject.h: Ditto. (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Ditto. (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator): Ditto. 2010-03-22 Joseph Pecoraro Reviewed by David Kilzer. Upstream Part of the iPhone Platform sharing code with the Mac Platform https://bugs.webkit.org/show_bug.cgi?id=35870 Part 2 of 3: No changes other than moving code around. Copied KeyEvent function from platform/mac to a platform/cocoa shared directory. * WebCore.xcodeproj/project.pbxproj: Added cocoa group and new files. * platform/cocoa/KeyEventCocoa.h: Added. * platform/cocoa/KeyEventCocoa.mm: Copied from WebCore/platform/mac/KeyEventMac.mm. (WebCore::keyIdentifierForKeyEvent): (WebCore::windowsKeyCodeForKeyEvent): Include the shared code. * platform/mac/KeyEventMac.mm: 2010-03-22 Joseph Pecoraro Reviewed by David Kilzer. Part 1 of 3: Upstream iPhone KeyEvent platform code and share with Mac platform https://bugs.webkit.org/show_bug.cgi?id=35870 * WebCore.xcodeproj/project.pbxproj: Added iphone group and new files. * platform/iphone: Added. * platform/iphone/KeyEventCodesIPhone.h: Added. * platform/iphone/KeyEventIPhone.mm: Added. Ensure PLATFORM(IPHONE) * platform/mac/KeyEventMac.mm: Ensure PLATFORM(MAC) 2010-03-22 Kevin Decker Attempt to fix the Leopard build. * rendering/RenderEmbeddedObject.cpp: Add ".f" to contants. 2010-03-22 Justin Schuh Reviewed by Dirk Schulze. Out of bounds read in SVG feColorMatrix filter https://bugs.webkit.org/show_bug.cgi?id=32714 Prevents an invalid read when a valid values attribute is not supplied for an feColorMatrix SVG filter. Also fixes general handling of missing or invalid values attribute. Tests: svg/filters/feColorMatrix-invalid-value.svg svg/filters/feColorMatrix-values.svg * svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::build): 2010-03-22 Philippe Normand Reviewed by Eric Carlson. [GStreamer] Use ImageBuffer API to do painting https://bugs.webkit.org/show_bug.cgi?id=35783 New ImageGStreamer class abstracting the conversion of GStreamer buffers to cairo surfaces. Using this makes the painting code of the player more generic. * GNUmakefile.am: * platform/graphics/gstreamer/ImageGStreamer.h: Added. (WebCore::ImageGStreamer::image): * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Added. (ImageGStreamer::createImage): (ImageGStreamer::ImageGStreamer): (ImageGStreamer::~ImageGStreamer): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::paint): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 2010-03-22 Beth Dakin Reviewed by Darin Adler. Fix for With Web Inspector opened, a crash occurs at Webcore:getMatchedCSSRules() when navigating to a previous page defaultView() can legitimately by null (as it is in this case), so it must be null-checked. * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::getStyles): (WebCore::InspectorDOMAgent::getComputedStyle): (WebCore::InspectorDOMAgent::getMatchedCSSRules): 2010-03-22 Kevin Decker Reviewed by Darin. https://bugs.webkit.org/show_bug.cgi?id=36328 * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadPlugin): Call setShowsMissingPluginIndicator(true) in cases that fail to generate a widget. * rendering/RenderEmbeddedObject.cpp: Added new missing plug-in related static constants (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Initialize newly boolean to false. (WebCore::RenderEmbeddedObject::paint): Added. (WebCore::RenderEmbeddedObject::paintReplaced): Added. Draws a subtle rounded rectangle containing the text "Missing Plug-in". * rendering/RenderEmbeddedObject.h: Added the following two methods below. (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator): * rendering/RenderWidget.h: Moved paint(PaintInfo&, int, int) from private to protected. 2010-03-22 Jakub Wieczorek Reviewed by Kenneth Rohde Christiansen. [Qt] Phonon media backend: expose supported MIME types to WebCore https://bugs.webkit.org/show_bug.cgi?id=33453 MediaPlayerPrivate should expose the MIME types that are supported by the underlying backend in Phonon. * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: (WebCore::MediaPlayerPrivate::supportedTypesCache): (WebCore::MediaPlayerPrivate::getSupportedTypes): (WebCore::MediaPlayerPrivate::supportsType): * platform/graphics/qt/MediaPlayerPrivatePhonon.h: 2010-03-22 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: AuditRules still use getMatchedCSSRules as a part of the img-related audit. https://bugs.webkit.org/show_bug.cgi?id=36424 * inspector/front-end/AuditRules.js: (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages): (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes): * inspector/front-end/InjectedScript.js: (injectedScriptConstructor): 2010-03-22 Darin Adler Reviewed by Dan Bernstein. TextBreakIteratorICU.cpp is incompatible with new UBreakIterator type in ICU 4.4 https://bugs.webkit.org/show_bug.cgi?id=36381 * platform/text/TextBreakIteratorICU.cpp: (WebCore::setUpIterator): Use reinterpret_cast instead of static_cast or relying on conversion to void*. (WebCore::textBreakFirst): Ditto. (WebCore::textBreakLast): Ditto. (WebCore::textBreakNext): Ditto. (WebCore::textBreakPrevious): Ditto. (WebCore::textBreakPreceding): Ditto. (WebCore::textBreakFollowing): Ditto. (WebCore::textBreakCurrent): Ditto. (WebCore::isTextBreak): Ditto. (WebCore::setUpIteratorWithRules): Ditto. 2010-03-22 Eric Carlson Reviewed by Sam Weinig. Typo in GPL license text https://bugs.webkit.org/show_bug.cgi?id=36442 Fix typo - "aint with this library" -> "along with this library". * bindings/scripts/CodeGenerator.pm: * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorObjC.pm: * bindings/scripts/CodeGeneratorV8.pm: * bindings/scripts/IDLParser.pm: * bindings/scripts/IDLStructure.pm: * bindings/scripts/generate-bindings.pl: 2010-03-22 Jakub Wieczorek Reviewed by Simon Hausmann. [Qt] Don't construct a QLineEdit every time when painting a text field https://bugs.webkit.org/show_bug.cgi?id=36373 Instead, keep one instance per RenderTheme around. * platform/qt/RenderThemeQt.cpp: (WebCore::findFrameLineWidth): 2010-03-22 Luiz Agostini Reviewed by Kenneth Rohde Christiansen. [Qt] Multiselect Popup - adjusting QtAbstractWebPopup https://bugs.webkit.org/show_bug.cgi?id=36186 QtAbstractWebPopup must provide new methods to be used by its descendants that wish to handle elements to be rendered as menu lists. Theme stylesheet mechanism has been used to change the appearance of the elements. Class QtStyleOptionWebComboBox has been introduced to provide to QStyle objects the needed information to render needs. A new interface named ListPopupMenuClient that inherits from PopupMenuClient was created. The use of this new class instead of adding methods to PopupMenuClient avoids changes in other non related implementations of PopupMenuClient. RenderMenuList has changed to inherit ListPopupMenuClient instead of PopupMenuClient and to have the new methods implemented. * platform/PopupMenuClient.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::listBoxSelectItem): (WebCore::RenderMenuList::multiple): * rendering/RenderMenuList.h: 2010-03-19 Simon Fraser Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=36387 REGRESSION: Can "uncheck" radio buttons by clicking on them My change in r56174 caused radio buttons and checkboxes to go down the same code path by virtue of allowsIndeterminate(), but this broke save/restore behavior on radio buttons. Fix by saving and restoring both the intermediate and checked state for radio buttons and checkboxes, as well as the "current radio button" state. Test: fast/forms/radio-checkbox-restore-indeterminate.html * html/HTMLInputElement.cpp: (WebCore::EventHandlingState::EventHandlingState): New struct to hold state between preDispatchEventHandler() and postDispatchEventHandler(). (WebCore::HTMLInputElement::preDispatchEventHandler): Store intermedate and checked state and the current radio button. (WebCore::HTMLInputElement::postDispatchEventHandler): Restore state as appropriate. * html/HTMLInputElement.h: Add a comment to clarify how 'intermediate' interacts with 'checked', according to the spec. 2010-03-19 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: caret moves past prompt in javascript console https://bugs.webkit.org/show_bug.cgi?id=26602 Having noticed any Element children besides a leading
(which are empty text nodes), WebCore editing facility thinks it should delete the
, thus clearing away the text prompt contents. * inspector/front-end/TextPrompt.js: (WebInspector.TextPrompt.prototype.clearAutoComplete): (WebInspector.TextPrompt.prototype._completionsReady): * inspector/front-end/utilities.js: (Element.prototype.pruneEmptyTextNodes): 2010-03-19 Adam Roben Windows clean build fix after r56192 * WebCore.vcproj/WebCore.vcproj: Copy headers from platform/graphics/cg to $WebKitOutputDir as part of the post-build event so that WebKit can use them. (The only one we currently require is FontPlatformData.h.) * platform/graphics/win/FontPlatformDataCGWin.cpp: Touched to force a build. 2010-03-19 Joseph Pecoraro Reviewed by David Kilzer. Assertion failure in media/video-controls-with-mutation-event-handler.html https://bugs.webkit.org/show_bug.cgi?id=36376 Fix crashing test. Underlying the media element's volume slider is a range input, which sanitizes values before expected on the media control. * rendering/RenderMedia.cpp: (WebCore::RenderMedia::createVolumeSlider): 2010-03-19 Brady Eidson Reviewed by Darin Adler. 3 of the new HTML5 loading events need to be asynchronous. Laying the groundwork for: https://bugs.webkit.org/show_bug.cgi?id=36201 https://bugs.webkit.org/show_bug.cgi?id=36202 https://bugs.webkit.org/show_bug.cgi?id=36334 https://bugs.webkit.org/show_bug.cgi?id=36335 Document already had an asynchronous event delivery mechanism for storage events, so we can repurpose that for all async events. No new tests. (No change in behavior) * dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::implicitClose): Use Document::schedule* for the related events. (WebCore::Document::enqueueEvent): Renamed from enqueueStorageEvent (WebCore::Document::pendingEventTimerFired): Renamed from "storageEventTimerFired" (WebCore::Document::statePopped): Use Document::schedulePopstateEvent (WebCore::Document::enqueuePageshowEvent): All Pageshow events are piped through here. This will be made asynchronous in a separate patch. (WebCore::Document::enqueueHashchangeEvent): All Hashchange events are piped through here. This will be made asynchronous in a separate patch. (WebCore::Document::enqueuePopstateEvent): All Popstate events are piped through here. This will be made asynchronous in a separate patch. * dom/Document.h: (WebCore::): * history/CachedFrame.cpp: (WebCore::CachedFrameBase::restore): Use Document::enqueuePageshowEvent * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): Use Document::enqueueHashchangeEvent * storage/StorageEventDispatcher.cpp: (WebCore::StorageEventDispatcher::dispatch): Use Document::enqueueEvent 2010-03-19 Kevin Decker Reviewed by Darin Adler and Brady Eidson. First step toward: https://bugs.webkit.org/show_bug.cgi?id=36328 This is the first step torward eliminating the WebKit WebNullPluginView class. The responsibility for this will soon be in platform-independent code in WebCore. The plan is to change RenderEmbeddedObject and give it the capability of drawing the missing plug-in text. * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject): Renamed the renderer parameter to requestEmbeddedObject and made it a RenderEmbeddedObject. (WebCore::FrameLoader::loadPlugin): Likewise. * loader/FrameLoader.h: Updated loadPlugin() and requestObject() method signatures accordingly. 2010-03-19 Laszlo Gombos Reviewed by Simon Hausmann. [Qt] Disable TILED_BACKING_STORE if Qt version is earlier than Qt4.6 https://bugs.webkit.org/show_bug.cgi?id=36348 Backing store implementation for QtWebKit requires at least Qt version 4.6. No new tests as there is no new functionality. * WebCore.pri: 2010-03-19 Joseph Pecoraro Reviewed by David Kilzer. does not validate correctly without a renderer and the tests are incorrect https://bugs.webkit.org/show_bug.cgi?id=36259 Setting value attribute on an to an out-of-range value fires oninput https://bugs.webkit.org/show_bug.cgi?id=16990 Part 2 of 2: When setting the range element's value, overflows and underflows are automatically sanitized to valid values. Moved the general case sanitization code out of the Renderer into HTMLInputElement::sanitizeValue. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::value): when getting a default value on reset() ensure the defaultValue is provided (WebCore::HTMLInputElement::sanitizeValue): clamp the value within the max/min/step range constraints * html/StepRange.cpp: (WebCore::StepRange::StepRange): allow const element in the constructor (WebCore::StepRange::clampValue): clamp from a String value * html/StepRange.h: (WebCore::StepRange::defaultValue): easy calculation of the default value for max/min/step range constraints * rendering/RenderSlider.cpp: (WebCore::RenderSlider::updateFromElement): no longer handle the general case sanitization in the renderer 2010-03-19 Joseph Pecoraro Reviewed by David Kilzer. does not validate correctly without a renderer and the tests are incorrect https://bugs.webkit.org/show_bug.cgi?id=36259 Part 1 of 2: Refactoring the SliderRange struct out of RenderSlider into a more appropriate place. Changed the named to StepRange. Changed from a struct to a class. Added new files to the build. * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: Renamed and moved class SliderRange to StepRange. * html/StepRange.cpp: Added. (WebCore::StepRange::StepRange): (WebCore::StepRange::clampValue): (WebCore::StepRange::valueFromElement): (WebCore::sliderPosition): * html/StepRange.h: Added. (WebCore::StepRange::proportionFromValue): (WebCore::StepRange::valueFromProportion): * rendering/RenderSlider.cpp: (WebCore::RenderSlider::updateFromElement): updated to use StepRange (WebCore::RenderSlider::setValueForPosition): updated to use StepRange 2010-03-19 Antti Koivisto Reviewed by Simon Hausmann. https://bugs.webkit.org/show_bug.cgi?id=36366 Repaint loop when painting using scaled CTMs with different translations The code in RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality tests if the scaling has changed from the previous value by comparing the transformations. The test fails if the scale is the same but the translation changes. This can lead to infinite repaint loop if the document is painted in pieces using different translations (for example for tiling). * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality): 2010-03-19 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: editing shorthands does not always work. https://bugs.webkit.org/show_bug.cgi?id=36362 * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::applyStyleText): (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties): (WebCore::InspectorDOMAgent::shorthandValue): * inspector/InspectorDOMAgent.h: * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype): * inspector/front-end/inspector.css: (.section .properties li.disabled .enabled-button): * inspector/front-end/inspector.js: (WebInspector.startEditing.editingCommitted): 2010-03-19 Tor Arne Vestbø Reviewed by Simon Hausmann. [Qt] Don't replace clip when drawing complex text * platform/graphics/qt/FontQt.cpp: 2010-03-18 Darin Fisher Reviewed by Adam Barth. If a frame is already in the document, then setting its "src" attribute should add the resultant navigation to history. https://bugs.webkit.org/show_bug.cgi?id=9166 This behavior is specified in section 4.8.2 of the HTML5 spec. Test: fast/loader/frame-src-change-added-to-history.html * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::openURL): (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestFrame): * loader/FrameLoader.h: 2010-03-18 Chris Evans Reviewed by Nikolas Zimmermann. Fix a minor crash with mismatched array sizes in SVG animation elements. https://bugs.webkit.org/show_bug.cgi?id=35606 Test: svg/animations/keypoints-mismatch.svg * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::startedActiveInterval): Globally apply validations relevant to all animation types. 2010-03-18 Vangelis Kokkevis Reviewed by Adam Barth. Implement software composited graphics layers in Chromium using the Skia library. https://bugs.webkit.org/show_bug.cgi?id=35557 This is an initial step in the implementation. Layer compositing is functioning but not optimized in any way. Subsesquent check-ins will be necessary to fine tune it. Test: No new exposed functionality so no new tests. * WebCore.gypi: Added new source files to the chromium build * platform/graphics/GraphicsLayer.h: Added necessary typedef's and forward declarations for Chromium. * platform/graphics/skia/GraphicsLayerSkia.cpp: Added. * platform/graphics/skia/GraphicsLayerSkia.h: Added. Declaration and implementation of the platform-specific GraphicsLayer class. * platform/graphics/skia/LayerRendererSkia.cpp: Added. * platform/graphics/skia/LayerRendererSkia.h: Added. Declaration and implementation of the Skia-based software compositor. * platform/graphics/skia/LayerSkia.cpp: Added. * platform/graphics/skia/LayerSkia.h: Added. Declaration and implementation of a compositable layer that uses a Skia canvas for backing store. 2010-03-18 Kenneth Rohde Christiansen Reviewed by Darin Adler. Make setPrinting() with printing=false, restore the previous media type in use. Test: fast/media/print-restores-previous-mediatype.html * page/Frame.cpp: (WebCore::Frame::setPrinting): * page/FrameView.cpp: (WebCore::FrameView::adjustMediaTypeForPrinting): * page/FrameView.h: 2010-03-18 David Kilzer Remove unused RenderReplaced::adjustOverflowForBoxShadowAndReflect() declaration Rubber-stamped by Darin Adler. This declaration should have been removed in r47440. * rendering/RenderReplaced.h: (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Removed. 2010-03-18 Jian Li Reviewed by Dmitry Titov. Dragging a PDF image triggers assertion in DragController::startDrag() https://bugs.webkit.org/show_bug.cgi?id=36247 Test: fast/images/drag-pdf-as-image.html * platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::filenameExtension): * platform/graphics/cg/PDFDocumentImage.h: 2010-03-18 Simon Fraser Reviewed by Dan Bernstein. Avoid taking a reference to a String owned by a temporary AtomicString. * css/CSSSelector.cpp: (WebCore::CSSSelector::RareData::parseNth): 2010-03-18 Chris Marrin Reviewed by Simon Fraser. Fixed parenting issues with HW layers on Windows https://bugs.webkit.org/show_bug.cgi?id=32449 CACF can't properly fix superlayer changes, so a layer added as a sublayer must have a null superlayer. I changed a couple of places that change sublayers to removeFromSuperlayer while adding to a new layer. This fixes both the problem of disappearing children and children getting doubled. Also got rid of removeSublayer(). Layers should always be removed from their parent with removeFromSuperlayer(). This also removed moveLayer(), which is not used and may not be safe in how it copies. * platform/graphics/win/GraphicsLayerCACF.cpp:Changed setName to be like Mac, to give more debugging info (to fix problems like these) (WebCore::GraphicsLayerCACF::setName): * platform/graphics/win/WKCACFLayer.cpp:Make sure superlayer is null before adding (WebCore::WKCACFLayer::insertSublayer): (WebCore::WKCACFLayer::replaceSublayer): (WebCore::WKCACFLayer::removeFromSuperlayer): (WebCore::WKCACFLayer::setSublayers): (WebCore::WKCACFLayer::printLayer):print the superlayer for better debugging * platform/graphics/win/WKCACFLayer.h: 2010-03-18 Dimitri Glazkov Unreviewed, build fix. [Chromium] Change the order of mac/ and cg/ include dirs to fix compile break due to http://trac.webkit.org/changeset/56192, * WebCore.gyp/WebCore.gyp: Changed the order. 2010-03-18 David Hyatt Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=36325 Add support for stopImmediatePropagation from DOM Level 3 Events. Added fast/events/stop-immediate-propagation.html. * dom/Event.cpp: (WebCore::Event::Event): * dom/Event.h: (WebCore::Event::timeStamp): (WebCore::Event::stopPropagation): (WebCore::Event::stopImmediatePropagation): (WebCore::Event::propagationStopped): (WebCore::Event::immediatePropagationStopped): * dom/Event.idl: * dom/EventTarget.cpp: (WebCore::EventTarget::fireEventListeners): 2010-03-18 Dimitri Glazkov Unreviewed, build fix. Return frame accessor back to Geolocation, it's used in GeolocationServiceChromium. The accessor was removed in http://trac.webkit.org/changeset/56188. * page/Geolocation.h: (WebCore::Geolocation::frame): Added back. 2010-03-18 Brent Fulgham Reviewed by Adam Roben. Help reduce build problems due to font declarations. https://bugs.webkit.org/show_bug.cgi?id=36190 Functions unchanged, no new tests. * WebCore.vcproj/WebCore.vcproj: Add new file, and show movement of FontPlatformData.h to cg/ directory. * platform/graphics/cairo/FontPlatformData.h: Merge in WinCairo-specific declarations. Correct constructor declaration to use type float for font size. (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::hfont): (WebCore::FontPlatformData::useGDI): (WebCore::FontPlatformData::fontFace): (WebCore::FontPlatformData::setSize): (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::isHashTableDeletedValue): * platform/graphics/cairo/FontPlatformDataCairo.cpp: (WebCore::FontPlatformData::FontPlatformData): Correct constructor to accept type float for font size. * platform/graphics/cg/FontPlatformData.h: Copied from WebCore/platform/graphics/win/FontPlatformData.h. (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::hfont): (WebCore::FontPlatformData::cgFont): (WebCore::FontPlatformData::operator==): * platform/graphics/win/FontPlatformData.h: Removed. * platform/graphics/win/FontPlatformDataCairoWin.cpp: (WebCore::FontPlatformData::operator==): Move implementation here (previously in header) to match other cairo-based ports. * platform/graphics/win/RefCountedHFONT.h: Added. This was extracted from win/FontPlatformData.h, and is now shared by the cg/FontPlatformData.h and cairo/FontPlatformData.h (WebCore::RefCountedHFONT::create): (WebCore::RefCountedHFONT::createDeleted): (WebCore::RefCountedHFONT::~RefCountedHFONT): (WebCore::RefCountedHFONT::hfont): (WebCore::RefCountedHFONT::hash): (WebCore::RefCountedHFONT::RefCountedHFONT): 2010-03-18 Simon Fraser No review. Fix brace style after r56170. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 2010-03-18 Simon Fraser Reviewed by Dave Hyatt. https://bugs.webkit.org/show_bug.cgi?id=36274 CSS3 :nth-child selector 'odd' keyword case sensitivity test fails The tests for "odd", "even" etc. for nth-child selectors should be case insensitive. Test: fast/css/nth-child-odd-case-insensitive.html * css/CSSSelector.cpp: (WebCore::CSSSelector::RareData::parseNth): 2010-03-18 David Hyatt Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=36265 Add support for event.defaultPrevented from DOM level 3. Added fast/events/defaultprevented.html * dom/Event.idl: 2010-03-18 Darin Adler Reviewed by Kenneth Rohde Christiansen. Remove Geolocation.lastPosition, no longer in the spec. https://bugs.webkit.org/show_bug.cgi?id=36255 rdar://problem/7746357 * WebCore.base.exp: Updated since Geolocation's destructor is now non-virtual. * page/Geolocation.cpp: (WebCore::Geolocation::lastPosition): Add an assertion; it's only legal to call this if access to the location is allowed. * page/Geolocation.h: Removed unneeded includes. Made destructor non-virtual, although it will still be virtual if any of the base classes have a virtual destructor. Made lastPosition, isAllowed, and isDenied functions private. Removed unused suspend, resume, setShouldClearCache, shouldClearCache, and frame functions. * page/Geolocation.idl: Removed lastPosition read-only attribute. No longer in the Geolocation specification. 2010-03-18 David Hyatt Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=36275 Make sure :not does not allow pseudo-elements inside it. (Hooray for another pointless restriction on :not.) Added fast/css/invalid-not-with-pseudo-element.html * css/CSSGrammar.y: * css/CSSSelector.h: (WebCore::CSSSelector::matchesPseudoElement): 2010-03-18 Dan Bernstein Reviewed by Darin Adler. Rework the fix for https://bugs.webkit.org/show_bug.cgi?id=18722 Test: fast/dynamic/float-remove-above-line-2.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::removeFloatingObject): Treat 0- and less-than-0-height floats as having a height of 1 so that they intersect with the line they originate on. (WebCore::RenderBlock::clearFloats): Use numeric_limits. * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::layoutInlineChildren): Removed the intersection checks here, so that a float is always included in the float list of the line it originates on, even if it does not intersect that line. This ensures that every float is accounted for, which is necessary during incremental layout when adding floats from clean lines. 2010-03-18 Antti Koivisto Reviewed by Kenneth Rohde Christiansen. https://bugs.webkit.org/show_bug.cgi?id=36102 [Qt] Scaling control API for tiled backing store Commit the new scale synchronously after unfreeze to avoid ugliness. * platform/graphics/TiledBackingStore.cpp: (WebCore::TiledBackingStore::TiledBackingStore): (WebCore::TiledBackingStore::setContentsScale): (WebCore::TiledBackingStore::commitScaleChange): (WebCore::TiledBackingStore::setContentsFrozen): * platform/graphics/TiledBackingStore.h: 2010-03-18 David Hyatt Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=36281 Make sure an exception is raised if an @import rule is inserted in the wrong place. Also make sure (so that this particular test case passes) that rgba(0, 0, 0, 0) is dumped as transparent by getComputedStyle, since it most commonly occurs in background-color and that default makes more sense than dumping rgba values. Added fast/css/invalid-import-insertion.html * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::createColor): * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::insertRule): 2010-03-18 Luiz Agostini Reviewed by Kenneth Rohde Christiansen. Multiselect Popup - Listbox click simulation https://bugs.webkit.org/show_bug.cgi?id=36177 Listbox popups will need to notify the corresponding select elements that a selection change happened. The current HTMLSelectElement interface does not allow multiple selections. The new method listBoxSelectItem will be used for that. I have refactored part of the mouse handling code in bug 36124 and I am now reusing it here for I needed to extend the API used by menulist popups. This is the first step. Just refactoring SelectElement without any behavior change. Separating code that will be reused in future patches. * dom/SelectElement.cpp: (WebCore::SelectElement::updateSelectedState): (WebCore::SelectElement::listBoxDefaultEventHandler): * dom/SelectElement.h: 2010-03-17 Nate Chapin Unreviewed, Chromium build fix. Delete the correct file this time. * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Copied from WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp. * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed. 2010-03-17 Nate Chapin Reviewed by Dimitri Glazkov. [V8] Remove custom bindings callbacks that aren't in use. (The relevant .idl doesn't mark them as V8Custom or Custom). https://bugs.webkit.org/show_bug.cgi?id=33066 * Android.v8bindings.mk: * WebCore.gypi: * bindings/scripts/CodeGeneratorV8.pm: * bindings/v8/custom/V8DOMWindowCustom.cpp: * bindings/v8/custom/V8WebGLArrayCustom.h: * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed. 2010-03-17 Steve Block Reviewed by Dimitri Glazkov. Adds ENABLE(WORKERS) guards to V8 bindings https://bugs.webkit.org/show_bug.cgi?id=36221 Build fix only, no new tests. * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::instantiateV8Object): * bindings/v8/V8Proxy.cpp: (WebCore::toV8Context): 2010-03-17 Yury Semikhatsky Reviewed by Pavel Feldman. Remove unused reference to InspectorController from InspectorFrontend. https://bugs.webkit.org/show_bug.cgi?id=36218 * inspector/InspectorFrontend.h: 2010-03-17 Ilya Tikhonovsky Reviewed by Pavel Feldman. WebInspector: Timeline improvements - next iteration. The top level records should be collapsed. Virtually linked events should be nested in Timeline like Send Request and corresponding Received Responce, Timer Install and Timer Fire etc. It should be possible to see Main Resource request. https://bugs.webkit.org/show_bug.cgi?id=36122 * inspector/InspectorController.cpp: (WebCore::InspectorController::resetScriptObjects): (WebCore::InspectorController::didReceiveResponse): * inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::willReceiveResourceResponse): (WebCore::InspectorTimelineAgent::didReceiveResourceResponse): * inspector/InspectorTimelineAgent.h: * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype._createStatusbarButtons): (WebInspector.TimelinePanel.prototype.addRecordToTimeline): (WebInspector.TimelinePanel.prototype._findParentRecord): (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): (WebInspector.TimelinePanel.prototype.resize): (WebInspector.TimelinePanel.prototype._createTopLevelRecord): (WebInspector.TimelinePanel.prototype.reset): (WebInspector.TimelinePanel.prototype._clean): (WebInspector.TimelinePanel.prototype._refresh): (WebInspector.TimelinePanel.prototype._refreshRecords): (WebInspector.TimelinePanel.prototype._addToRecordsWindow): (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages): (WebInspector.TimelineCalculator.prototype.updateBoundaries): (WebInspector.TimelineRecordGraphRow): (WebInspector.TimelineRecordGraphRow.prototype.update): (WebInspector.TimelinePanel.FormattedRecord): (WebInspector.TimelinePanel.FormattedRecord.prototype.get children): (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): * inspector/front-end/inspector.css: * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::didReceiveResponse): 2010-03-17 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: Reimplement style-related audits using native API https://bugs.webkit.org/show_bug.cgi?id=36172 * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::getAllStyles): * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::getAllStyles): (WebCore::InspectorDOMAgent::getMatchedCSSRules): (WebCore::InspectorDOMAgent::buildObjectForStyleSheet): (WebCore::InspectorDOMAgent::buildObjectForRule): * inspector/InspectorDOMAgent.h: * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::didGetAllStyles): * inspector/InspectorFrontend.h: * inspector/front-end/AuditRules.js: (WebInspector.AuditRules.evaluateInTargetWindow): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): (WebInspector.AuditRules.CssInHeadRule.prototype.doRun): (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun): * inspector/front-end/DOMAgent.js: * inspector/front-end/InjectedScript.js: (injectedScriptConstructor): 2010-03-17 Steve Block Reviewed by Jeremy Orlow. Replace instances of bzero in WebCore/bridge common code with memset https://bugs.webkit.org/show_bug.cgi?id=36214 Syntax change only, no new tests. * bridge/jni/JNIUtility.cpp: (JSC::Bindings::getJNIField): * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaField::dispatchValueFromInstance): * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): * bridge/jni/v8/JNIUtilityPrivate.cpp: (JSC::Bindings::convertNPVariantToJValue): * bridge/jni/v8/JavaNPObjectV8.cpp: (JSC::Bindings::AllocJavaNPObject): 2010-03-17 Yury Semikhatsky Reviewed by Pavel Feldman. Mark inspector resources as changed so that they are reloaded on the next frontend connection. Split resetScriptObjects into code specific for page navigation and insepctor frontend disconnection. https://bugs.webkit.org/show_bug.cgi?id=36183 * WebCore.xcodeproj/project.pbxproj: Added InspectorWorkerResource.h to the project file. * inspector/InspectorController.cpp: (WebCore::InspectorController::disconnectFrontend): (WebCore::InspectorController::unbindAllResources): (WebCore::InspectorController::didCommitLoad): * inspector/InspectorController.h: * inspector/InspectorResource.cpp: (WebCore::InspectorResource::releaseScriptObject): 2010-03-17 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Capture main resource load events in timeline panel. https://bugs.webkit.org/show_bug.cgi?id=36188 * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._createStatusbarButtons): (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked): (WebInspector.TimelinePanel.prototype.timelineWasStopped): (WebInspector.TimelinePanel.prototype.addRecordToTimeline): (WebInspector.TimelinePanel.prototype._clearPanel): (WebInspector.TimelinePanel.FormattedRecord): 2010-03-17 Zoltan Horvath Reviewed by Eric Seidel. Allow custom memory allocation control for AtomicString class https://bugs.webkit.org/show_bug.cgi?id=35907 Inherits the following class from FastAllocBase because it is instantiated by 'new': class name - instantiated at: WebCore/'location' AtomicString - WebCore/html/HTMLTableElement.cpp:525 * platform/text/AtomicString.h: 2010-03-16 John Abd-El-Malek Reviewed by Darin Fisher. Give keyboard focus to PluginDocuments by default https://bugs.webkit.org/show_bug.cgi?id=36147 Test: http/tests/plugins/plugin-document-has-focus.html * loader/PluginDocument.cpp: (WebCore::PluginDocument::pluginNode): * loader/PluginDocument.h: * page/EventHandler.cpp: (WebCore::eventTargetNodeForDocument): 2010-03-16 Chris Fleizach Reviewed by Darin Adler. REGRESSION (r53857): Crash when tabbing to https://bugs.webkit.org/show_bug.cgi?id=36017 Test: fast/events/imagemap-norender-crash.html * html/HTMLMapElement.cpp: (WebCore::HTMLMapElement::imageElement): 2010-03-16 Brent Fulgham Build fix. No Review. Correct missing includes in cURL network backend introduced by recent changes in WebKit. * platform/network/curl/ResourceHandleCurl.cpp: Add missing includes for SharedBuffer and PassRefPtr. (WebCore::ResourceHandle::loadResourceSynchronously): Correct constructor signature for ResourceHandle to match @r55688. * platform/network/curl/ResourceHandleManager.cpp: Add missing include for RetainPtr. 2010-03-16 Zhenyao Mo Reviewed by Darin Fisher. Hook up WebGLContextAttributes to OpenGL context creation code https://bugs.webkit.org/show_bug.cgi?id=33416 Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Fix an index bug. * platform/graphics/GraphicsContext3D.h: Add members/functions for multisampling/stencil buffer purpose. * platform/graphics/mac/Canvas3DLayer.h: Add GraphicsContext3D as a member of Canvas3DLayer. * platform/graphics/mac/Canvas3DLayer.mm: Add multisampling support. * platform/graphics/mac/GraphicsContext3DMac.cpp: Hook up WebGLContextAttributes to OpenGL context creation code for Mac. * platform/graphics/mac/GraphicsLayerCA.mm: Adjust to modified Canvas3DLayer init call. 2010-03-16 Joanmarie Diggs Reviewed by Xan Lopez. https://bugs.webkit.org/show_bug.cgi?id=35504 [Gtk] Evaluate and fix AtkTable for layout tables Causes "layout tables" to be exposed as AccessibilityTables for Gtk. * accessibility/AccessibilityTable.cpp: (AccessibilityTable::isTableExposableThroughAccessibility): 2010-03-16 Gustavo Noronha Silva Unreviewed. Build fix for distcheck. * GNUmakefile.am: 2010-03-15 Darin Fisher Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=36152 [chromium] Add support for history.pushState and history.replaceState This is covered by the existing tests in fast/loader/stateobjects * bindings/v8/SerializedScriptValue.cpp: (WebCore::ZigZag::Deserializer::deserialize): (WebCore::SerializedScriptValue::deserialize): * bindings/v8/SerializedScriptValue.h: Switch to returning v8::Null instead of the empty value to match JSC and the spec. * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): Call dispatchDidNavigateWithinPage just before dispatching events to the page. This ordering is important since the event handlers could destroy the page or start another navigation. * loader/FrameLoaderClient.h: Add dispatchDidNavigateWithinPage to notify the client whenever a navigation occurs without changing any of the documents in the page. 2010-03-16 Adam Roben Fix linker warnings when building WebCore on Windows Rubber-stamped by Steve Falkenburg. * WebCore.vcproj/WebCore.vcproj: Exclude JSDOMFormData.cpp from the build, since it's already included in DerivedSources.cpp. Also let VS sort this file as it saw fit. 2010-03-15 Antti Koivisto Reviewed by Simon Hausmann. https://bugs.webkit.org/show_bug.cgi?id=36121 [Qt] Make WebKit scrollbars work with tiling Translate coordinates correctly. * page/Frame.cpp: (WebCore::Frame::tiledBackingStorePaintEnd): 2010-03-16 Jakub Wieczorek Reviewed by Eric Seidel. [Qt] MediaPlayerPrivate: Initialize m_mediaPlayerControl to 0 to avoid crashes when no media services can be found. https://bugs.webkit.org/show_bug.cgi?id=36142 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 2010-03-16 Adam Barth Unreviewed. noscript tag should render when @sandbox disables JavaScript https://bugs.webkit.org/show_bug.cgi?id=36092 Add missing "!" in plugin code. Should fix plugins/embed-inside-object on Gtk and Qt. * plugins/PluginView.cpp: (WebCore::PluginView::load): 2010-03-16 Nate Chapin Reviewed by Dimitri Glazkov. [V8] Delete DerivedSourcesAllInOne.cpp. https://bugs.webkit.org/show_bug.cgi?id=33048 * Android.v8bindings.mk: * bindings/v8/DerivedSourcesAllInOne.cpp: Removed. 2010-03-16 Gustavo Noronha Silva Revert r56006 as it caused functional issues. We will work on a testcase, and rework the fix, and land when we have this a bit more testable. * platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::paintMediaPlayButton): 2010-03-16 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Errors when inspecting styles of non-renderable elements in XHTML. https://bugs.webkit.org/show_bug.cgi?id=35025 * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::getStyles): * inspector/front-end/DOMAgent.js: (WebInspector.DOMNode.prototype._addAttribute): (WebInspector.DOMWindow.prototype.Object): * inspector/front-end/MetricsSidebarPane.js: * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype.update.callback): (WebInspector.StylesSidebarPane.prototype.update): (WebInspector.StylesSidebarPane.prototype._update): 2010-03-12 Antonio Gomes Reviewed by Simon Fraser. Patch by Antonio Gomes Spatial Navigation: Add a scrollIntoView call when focusing an element. https://bugs.webkit.org/show_bug.cgi?id=36020 When focusing an element in Spatial Navigation logic, it is desired to make this element visible in the current viewport. For that to happen, there could be a call to Element's scrollIntoView method at focusing time. However for visual aspects, it is preferable to scroll to an inflated rect of |element| in order to consider the focus outline width. As Element's scrollIntoView method does not provide this flexibility, patch adds a custom scrollIntoView method to SpatialNavigation.h . * page/FocusController.cpp: (WebCore::FocusController::advanceFocusDirectionally): * page/SpatialNavigation.cpp: (WebCore::scrollIntoView): * page/SpatialNavigation.h: 2010-03-10 Gustavo Noronha Silva Reviewed by Eric Seidel. [GTK] Position queries are lagging https://bugs.webkit.org/show_bug.cgi?id=34372 Normalize timeout priorities through the GStreamer media player as a whole. This should help avoid that any of them is starved. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::volumeChanged): (WebCore::MediaPlayerPrivate::processBufferingStats): (WebCore::MediaPlayerPrivate::muteChanged): * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: (webkit_video_sink_render): * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: (webKitWebSrcNeedDataCb): (webKitWebSrcEnoughDataCb): (webKitWebSrcSeekDataCb): 2010-03-10 Gustavo Noronha Silva Reviewed by Eric Seidel. [GTK] Position queries are lagging https://bugs.webkit.org/show_bug.cgi?id=34372 Use default priority also for parsing data: URIs. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::startData): 2010-03-10 Gustavo Noronha Silva Reviewed by Eric Seidel. [GTK] Position queries are lagging https://bugs.webkit.org/show_bug.cgi?id=34372 Normalize SharedTimers priorities to always be G_PRIORITY_DEFAULT. As it is currently, timers that should happen immediately (0 miliseconds delay) end up delayed by a lot of time due to glib starving lower priority sources. * platform/gtk/SharedTimerGtk.cpp: (WebCore::setSharedTimerFireTime): 2010-03-16 Xan Lopez Reviewed by Gustavo Noronha. Add support for Fast Mobile Scrolling in the build system. * GNUmakefile.am: 2010-03-11 Yury Semikhatsky Reviewed by Pavel Feldman. Introduce InspectorFrontendClient that provides InspectorFrontend with an interface to the embedder. InspectorClient now serves as a delegate for InspectorController and does not contain methods for managing inspector frontend window. That allows to create remote InspectorFrontendHost. Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder https://bugs.webkit.org/show_bug.cgi?id=35036 * GNUmakefile.am: * WebCore.Inspector.exp: * WebCore.base.exp: * WebCore.gypi: * WebCore.order: * WebCore.pro: * WebCore.xcodeproj/project.pbxproj: * inspector/ConsoleMessage.cpp: (WebCore::ConsoleMessage::addToFrontend): * inspector/ConsoleMessage.h: * inspector/InspectorClient.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::~InspectorController): (WebCore::InspectorController::inspectedPageDestroyed): (WebCore::InspectorController::windowVisible): (WebCore::InspectorController::frontendReady): (WebCore::InspectorController::willCloseFrontend): (WebCore::InspectorController::addConsoleMessage): (WebCore::InspectorController::setInspectorFrontendClient): (WebCore::InspectorController::inspectedWindowScriptObjectCleared): (WebCore::InspectorController::setFrontend): (WebCore::InspectorController::show): (WebCore::InspectorController::close): (WebCore::InspectorController::releaseDOMAgent): (WebCore::InspectorController::populateScriptObjects): (WebCore::InspectorController::didCommitLoad): (WebCore::InspectorController::getProfile): (WebCore::InspectorController::enableDebugger): * inspector/InspectorController.h: (WebCore::InspectorController::hasInspectorFrontendClient): * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::InspectorFrontend): (WebCore::InspectorFrontend::~InspectorFrontend): (WebCore::InspectorFrontend::addConsoleMessage): (WebCore::InspectorFrontend::bringToFront): (WebCore::InspectorFrontend::inspectedURLChanged): * inspector/InspectorFrontend.h: * inspector/InspectorFrontendClient.h: Added. (WebCore::InspectorFrontendClient::~InspectorFrontendClient): * inspector/InspectorFrontendClientLocal.cpp: Added. (WebCore::FrontendMenuProvider::create): (WebCore::FrontendMenuProvider::disconnect): (WebCore::FrontendMenuProvider::FrontendMenuProvider): (WebCore::FrontendMenuProvider::~FrontendMenuProvider): (WebCore::FrontendMenuProvider::populateContextMenu): (WebCore::FrontendMenuProvider::contextMenuItemSelected): (WebCore::FrontendMenuProvider::contextMenuCleared): (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal): (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal): (WebCore::InspectorFrontendClientLocal::windowObjectCleared): (WebCore::InspectorFrontendClientLocal::frontendLoaded): (WebCore::InspectorFrontendClientLocal::canAttachWindow): (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight): (WebCore::InspectorFrontendClientLocal::moveWindowBy): (WebCore::InspectorFrontendClientLocal::showContextMenu): (WebCore::InspectorFrontendClientLocal::setAttachedWindow): (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight): (WebCore::InspectorFrontendClientLocal::constrainedAttachedWindowHeight): * inspector/InspectorFrontendClientLocal.h: Added. * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::InspectorFrontendHost): (WebCore::InspectorFrontendHost::~InspectorFrontendHost): (WebCore::InspectorFrontendHost::loaded): (WebCore::InspectorFrontendHost::attach): (WebCore::InspectorFrontendHost::detach): (WebCore::InspectorFrontendHost::closeWindow): (WebCore::InspectorFrontendHost::bringToFront): (WebCore::InspectorFrontendHost::inspectedURLChanged): (WebCore::InspectorFrontendHost::canAttachWindow): (WebCore::InspectorFrontendHost::setAttachedWindowHeight): (WebCore::InspectorFrontendHost::moveWindowBy): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorFrontendHost.h: (WebCore::InspectorFrontendHost::create): * inspector/InspectorFrontendHost.idl: * inspector/front-end/InspectorFrontendHostStub.js: (.WebInspector.InspectorFrontendHostStub.prototype.bringToFront): (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged): * inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.close): (WebInspector.bringToFront): (WebInspector.inspectedURLChanged): * loader/EmptyClients.h: (WebCore::EmptyInspectorClient::openInspectorFrontend): * loader/FrameLoader.cpp: (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): * page/Page.cpp: (WebCore::Page::Page): (WebCore::Page::~Page): * page/Page.h: * platform/ContextMenu.cpp: (WebCore::ContextMenu::populate): (WebCore::ContextMenu::addInspectElementItem): 2010-03-16 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: migrate to native styles inspector in order to inspect styles from foreighn domains. https://bugs.webkit.org/show_bug.cgi?id=36117 * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::getStyles): (WebCore::InspectorBackend::getInlineStyle): (WebCore::InspectorBackend::getComputedStyle): (WebCore::InspectorBackend::applyStyleText): (WebCore::InspectorBackend::setStyleText): (WebCore::InspectorBackend::setStyleProperty): (WebCore::InspectorBackend::toggleStyleEnabled): (WebCore::InspectorBackend::setRuleSelector): (WebCore::InspectorBackend::addRule): * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::InspectorDOMAgent): (WebCore::InspectorDOMAgent::getStyles): (WebCore::InspectorDOMAgent::getInlineStyle): (WebCore::InspectorDOMAgent::getComputedStyle): (WebCore::InspectorDOMAgent::getMatchedCSSRules): (WebCore::InspectorDOMAgent::getAttributeStyles): (WebCore::InspectorDOMAgent::applyStyleText): (WebCore::InspectorDOMAgent::setStyleText): (WebCore::InspectorDOMAgent::setStyleProperty): (WebCore::InspectorDOMAgent::toggleStyleEnabled): (WebCore::InspectorDOMAgent::setRuleSelector): (WebCore::InspectorDOMAgent::addRule): (WebCore::InspectorDOMAgent::bindStyle): (WebCore::InspectorDOMAgent::bindRule): (WebCore::InspectorDOMAgent::buildObjectForStyle): (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties): (WebCore::InspectorDOMAgent::buildObjectForRule): (WebCore::InspectorDOMAgent::uniqueStyleProperties): (WebCore::InspectorDOMAgent::longhandProperties): (WebCore::InspectorDOMAgent::shorthandPriority): (WebCore::InspectorDOMAgent::ruleAffectsNode): (WebCore::InspectorDOMAgent::toArray): * inspector/InspectorDOMAgent.h: * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::didGetEventListenersForNode): (WebCore::InspectorFrontend::didGetStyles): (WebCore::InspectorFrontend::didGetComputedStyle): (WebCore::InspectorFrontend::didGetInlineStyle): (WebCore::InspectorFrontend::didApplyStyleText): (WebCore::InspectorFrontend::didSetStyleText): (WebCore::InspectorFrontend::didSetStyleProperty): (WebCore::InspectorFrontend::didToggleStyleEnabled): (WebCore::InspectorFrontend::didSetRuleSelector): (WebCore::InspectorFrontend::didAddRule): * inspector/InspectorFrontend.h: * inspector/front-end/DOMAgent.js: (WebInspector.CSSStyleDeclaration): * inspector/front-end/ElementsTreeOutline.js: * inspector/front-end/InjectedScript.js: * inspector/front-end/MetricsSidebarPane.js: (WebInspector.MetricsSidebarPane.prototype.update): (WebInspector.MetricsSidebarPane.prototype.editingCommitted): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype.update): (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback): (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.callback): (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): (WebInspector.StylePropertyTreeElement.prototype): (WebInspector.StylePropertyTreeElement.prototype.): 2010-03-16 Shinichiro Hamaji Reviewed by Darin Adler. RenderText::m_text should be a String, not RefPtr https://bugs.webkit.org/show_bug.cgi?id=36010 Refactoring only, so no new tests. * platform/text/PlatformString.h: (WebCore::String::makeLower): (WebCore::String::makeUpper): (WebCore::String::makeSecure): (WebCore::String::makeCapitalized): (WebCore::String::containsOnlyASCII): * rendering/RenderText.cpp: (WebCore::RenderText::RenderText): (WebCore::RenderText::widthFromCache): (WebCore::RenderText::trimmedPrefWidths): (WebCore::RenderText::containsOnlyWhitespace): (WebCore::RenderText::setTextInternal): (WebCore::RenderText::setText): (WebCore::RenderText::previousOffset): (WebCore::RenderText::previousOffsetForBackwardDeletion): (WebCore::RenderText::nextOffset): * rendering/RenderText.h: (WebCore::RenderText::text): (WebCore::RenderText::characters): (WebCore::RenderText::textLength): 2010-03-16 Adam Barth Reviewed by Darin Adler. noscript tag should render when @sandbox disables JavaScript https://bugs.webkit.org/show_bug.cgi?id=36092 Instead of talking to Settings directly to figure out if JavaScript is enabled in a frame, we need to talk to the ScriptController. The ScriptController is better at answering that question because it knows about @sandbox. Test: fast/frames/sandboxed-iframe-noscript.html * dom/Document.cpp: (WebCore::Document::Document): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createRenderer): * html/HTMLElement.cpp: (WebCore::HTMLElement::rendererIsNeeded): * html/HTMLParser.cpp: (WebCore::HTMLParser::noscriptCreateErrorCheck): (WebCore::HTMLParser::isInline): * plugins/PluginView.cpp: (WebCore::PluginView::load): 2010-03-15 John Gregg Reviewed by David Levin. Notification object should expose absolute URL of icon https://bugs.webkit.org/show_bug.cgi?id=35800 Covered by existing tests. * notifications/Notification.cpp: (WebCore::Notification::Notification): * notifications/Notification.h: (WebCore::Notification::iconURL): 2010-03-15 Leandro Pereira Reviewed by Holger Freyther. Add EFL port files to platform/efl. http://webkit.org/b/35887 * platform/efl/ClipboardEfl.cpp: Added. * platform/efl/PasteboardEfl.cpp: Added. 2010-03-15 Kent Tamura Reviewed by Eric Seidel. Don't submit disabled menu options. https://bugs.webkit.org/show_bug.cgi?id=35056 Test: fast/forms/menulist-disabled-selected-option.html * dom/OptionElement.h: * dom/SelectElement.cpp: (WebCore::SelectElement::appendFormData): If a selected option is disabled, skip it. Remove code for non-selected menulist because of compatibility with other browsers. 2010-03-15 Leandro Pereira Reviewed by Holger Freyther. Add EFL port files to platform/efl. http://webkit.org/b/35884 * platform/efl/FileSystemEfl.cpp: Added. 2010-03-15 Leandro Pereira Reviewed by Holger Freyther. Add EFL port files to platform/efl. http://webkit.org/b/35882 * platform/efl/ContextMenuItemEfl.cpp: Added. 2010-03-15 Joanmarie Diggs Reviewed by Holger Freyther. https://bugs.webkit.org/show_bug.cgi?id=35502 [Gtk] Objects of ATK_ROLE_TABLE should not implement AtkText Simple change to stop tables from implementing AtkText. * accessibility/gtk/AccessibilityObjectAtk.cpp: (getInterfaceMaskFromObject): 2010-03-15 Adam Bergkvist Reviewed by Adam Barth. According to the updated specification, a data field should always result in a newline character being appended to the data buffer regardless if the data buffer contains any data or not. However, upon event dispatch, the last newline will be removed. This differs from an older version of the specification where a newline character was appended before the data value only if the buffer already contained data. As a result, EventSource now supports receiving events with empty data or newline characters only. https://bugs.webkit.org/show_bug.cgi?id=33210 * page/EventSource.cpp: (WebCore::EventSource::parseEventStreamLine): 2010-03-15 Valters Svabe Reviewed by Darin Adler. :after selector displays in wrong place with nested div https://bugs.webkit.org/show_bug.cgi?id=32288 Make sure we don't append things after :after-generated content, if it's inside an anonymous block. Test: fast/css-generated-content/block-after.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::addChild): 2010-03-15 Leandro Pereira Reviewed by Eric Seidel. Add EFL port files to platform/efl. http://webkit.org/b/35885 * platform/efl/KURLEfl.cpp: Added. 2010-03-15 Chris Fleizach Reviewed by Beth Dakin. VO not able to perform a VO-spacebar on facebook links https://bugs.webkit.org/show_bug.cgi?id=36132 When a label element is used as a click event handler, and it doesn't have any corresponding control, it should handle the action itself. Test: accessibility/label-element-press.html * html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::accessKeyAction): 2010-03-15 Cameron Zwarich Reviewed by Geoff Garen. Bug 36135 - GCController::garbageCollectNow() crashes when called from garbage collection * bindings/js/GCController.cpp: (WebCore::GCController::garbageCollectNow): Fail silently if garbage collection is active rather than hitting the CRASH() reentrancy guard. 2010-03-15 Simon Fraser Reviewed by Dan Bernstein. Drop out of compositing mode when no elements need to composite https://bugs.webkit.org/show_bug.cgi?id=36134 When no more elements on the page need to be composited, drop out of compositing mode altogether, including removing the layer-backed view that hosts the layers. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateCompositingLayers): If the list of child layers to attach at the root is empty, we have no composited layers, and can drop out of compositing mode by calling willMoveOffscreen(). (WebCore::RenderLayerCompositor::computeCompositingRequirements): In several places, use willBeComposited rather than calling needsToBeComposited(), because it avoids recomputing state that we know already (but assert that we're getting it right). When we're assessing the root layer in post-order, see if we have any child layers that are compositing, and also whether the root itself needs to composite. If neither are true, then we can drop out of compositing mode. (WebCore::RenderLayerCompositor::needsToBeComposited): (WebCore::RenderLayerCompositor::requiresCompositingLayer): Move the "inCompositingMode() && layer->isRootLayer()" test out of requiresCompositingLayer() and into needsToBeComposited() so that we can call requiresCompositingLayer() separately on the root layer above. 2010-03-15 Leandro Pereira Reviewed by Kenneth Rohde Christiansen. Add EFL port files to platform/efl. http://webkit.org/b/35888 * platform/efl/SoundEfl.cpp: Added. 2010-03-15 Andy Estes Reviewed by John Sullivan. For continuous scrolling devices on the Mac (trackpads and Mighty/Magic Mice), set the number of wheel ticks equal to the atomic increment of the device: a pixel. This ensures that any scrolling action will generate at least one wheel tick, regardless of the speed/length of the gesture. https://bugs.webkit.org/show_bug.cgi?id=29601 Tests: fast/events/continuous-platform-wheelevent-in-scrolling-div.html fast/events/platform-wheelevent-in-scrolling-div.html * platform/mac/WebCoreSystemInterface.h: Modify method signature. * platform/mac/WebCoreSystemInterface.mm: Ditto. * platform/mac/WheelEventMac.mm: (WebCore::PlatformWheelEvent::PlatformWheelEvent): Call into WebKitSystemInterface to determine both wheelTicksX/Y and deltaX/Y. WKSI will query the event system for number of wheel ticks and pixels/lines scrolled based on the device type. 2010-03-15 Philippe Normand Reviewed by Gustavo Noronha Silva. [GStreamer] duration query optimizations https://bugs.webkit.org/show_bug.cgi?id=36116 Don't reattempt duration queries that previously failed and cache media duration only if it's known. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::duration): (WebCore::MediaPlayerPrivate::updateStates): (WebCore::MediaPlayerPrivate::durationChanged): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 2010-03-11 Peter Kasting Reviewed by Adam Barth. Clean up more bits of the open-source image decoders. In addition to simplifying things somewhat, this makes all the decoders the same in terms of how they construct "image reader" subclasses and init scale data. https://bugs.webkit.org/show_bug.cgi?id=36040 No functional change, so no tests. * platform/image-decoders/ImageDecoder.h: Reorder a few declarations to try and group/order members slightly better. (WebCore::ImageDecoder::ImageDecoder): * platform/image-decoders/gif/GIFImageDecoder.cpp: Move reader construction into decode(). Prep scale data in setSize(). Remove useless comment. (WebCore::GIFImageDecoder::setData): (WebCore::GIFImageDecoder::setSize): (WebCore::GIFImageDecoder::frameBufferAtIndex): (WebCore::GIFImageDecoder::decode): * platform/image-decoders/gif/GIFImageDecoder.h: Prep scale data in setSize(). * platform/image-decoders/gif/GIFImageReader.cpp: Prep scale data in setSize(). (GIFImageReader::read): * platform/image-decoders/ico/ICOImageDecoder.cpp: Shorten code. (WebCore::ICOImageDecoder::setSize): * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Fix style. Move reader construction into decode(). (WebCore::JPEGImageReader::close): (WebCore::JPEGImageReader::skipBytes): (WebCore::JPEGImageDecoder::decode): * platform/image-decoders/jpeg/JPEGImageDecoder.h: Move reader construction into decode(). (WebCore::JPEGImageDecoder::filenameExtension): * platform/image-decoders/png/PNGImageDecoder.cpp: Move reader construction into decode(). Track completion on decoder, not reader. Prep scale data in setSize(). Remove useless comment. (WebCore::PNGImageReader::PNGImageReader): (WebCore::PNGImageReader::close): (WebCore::PNGImageReader::decode): (WebCore::PNGImageDecoder::setSize): (WebCore::PNGImageDecoder::frameBufferAtIndex): (WebCore::PNGImageDecoder::headerAvailable): (WebCore::PNGImageDecoder::pngComplete): (WebCore::PNGImageDecoder::decode): * platform/image-decoders/png/PNGImageDecoder.h: Move reader construction into decode(). Track completion on decoder, not reader. Prep scale data in setSize(). (WebCore::PNGImageDecoder::filenameExtension): (WebCore::PNGImageDecoder::isComplete): 2010-03-15 Philippe Normand Reviewed by Gustavo Noronha Silva. [GStreamer] updateStates called for all elements posting a state-change https://bugs.webkit.org/show_bug.cgi?id=36115 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::mediaPlayerPrivateMessageCallback): Update player state only for state-change messages coming from playbin2 directly. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: (WebCore::MediaPlayerPrivate::pipeline): public accessor for the playbin element. 2010-03-15 Jian Li Reviewed by Nate Chapin. [v8] Add V8 bindings for DOMFormData. https://bugs.webkit.org/show_bug.cgi?id=36026 Test: http/tests/local/send-form-data.html * Android.v8bindings.mk: * WebCore.gypi: * bindings/v8/V8Index.h: * bindings/v8/custom/V8DOMFormDataCustom.cpp: Added. * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: (WebCore::V8XMLHttpRequest::sendCallback): 2010-03-15 Jian Li Reviewed by Sam Weinig. Add DOMFormData.idl to expose FormData interface. https://bugs.webkit.org/show_bug.cgi?id=36024 The implementation is based on XMLHttpRequest 2 spec: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata Test: http/tests/local/send-form-data.html * Android.derived.jscbindings.mk: * Android.derived.v8bindings.mk: * Android.jscbindings.mk: * DerivedSources.cpp: * DerivedSources.make: * GNUmakefile.am: * WebCore.pri: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSDOMFormDataCustom.cpp: Added. * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::send): * bindings/scripts/CodeGeneratorJS.pm: * html/DOMFormData.idl: Added. * page/DOMWindow.idl: 2010-03-15 Patrik Persson Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=32369 Revise iframe sandbox behavior to match the updated HTML5 spec. - Enables window.sessionStorage in sandboxed iframes. - Raises SECURITY_ERR exceptions when window.localStorage or window.openDatabase() is blocked by iframe sandboxing. Note: window.sessionStorage does not raise exceptions. WebKit would previously return null references in these cases. The new behavior is in accordance with HTML5: http://dev.w3.org/html5/webstorage/ (sections 4.2 and 4.3) http://dev.w3.org/html5/webdatabase/ (section 4.1) http://www.mail-archive.com/whatwg@lists.whatwg.org/msg19786.html * inspector/InspectorController.cpp: (WebCore::InspectorController::selectDOMStorage): exception handling * inspector/InspectorDOMStorageResource.cpp: (WebCore::InspectorDOMStorageResource::handleEvent): exception handling * page/DOMWindow.cpp: (WebCore::DOMWindow::sessionStorage): re-enabled in iframe sandbox (WebCore::DOMWindow::localStorage): raise exception rather than return null (WebCore::DOMWindow::openDatabase): raise exception rather than return null * page/DOMWindow.h: added exceptions to interface * page/DOMWindow.idl: added exceptions to interface * page/SecurityOrigin.h: (WebCore::SecurityOrigin::canAccessLocalStorage): renamed function to reflect its purpose * storage/StorageEventDispatcher.cpp: (WebCore::StorageEventDispatcher::dispatch): exception handling 2010-03-15 Alexander Pavlov Reviewed by Timothy Hatcher. Web Inspector: Implement a progress indicator in the Audits panel when resources are reloading https://bugs.webkit.org/show_bug.cgi?id=35971 * English.lproj/localizedStrings.js: * GNUmakefile.am: * WebCore.gypi: * inspector/front-end/AuditLauncherView.js: (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState): (WebInspector.AuditLauncherView.prototype.get totalResources): (WebInspector.AuditLauncherView.prototype.set totalResources): (WebInspector.AuditLauncherView.prototype.get loadedResources): (WebInspector.AuditLauncherView.prototype.set loadedResources): (WebInspector.AuditLauncherView.prototype._resetResourceCount): (WebInspector.AuditLauncherView.prototype.resourceStarted): (WebInspector.AuditLauncherView.prototype.resourceFinished): (WebInspector.AuditLauncherView.prototype.reset): (WebInspector.AuditLauncherView.prototype._setAuditRunning): (WebInspector.AuditLauncherView.prototype._launchButtonClicked): (WebInspector.AuditLauncherView.prototype._createCategoryElement): (WebInspector.AuditLauncherView.prototype._createLauncherUI): (WebInspector.AuditLauncherView.prototype._updateResourceProgress): (WebInspector.AuditLauncherView.prototype._updateButton): * inspector/front-end/AuditsPanel.js: (WebInspector.AuditsPanel.prototype.resourceStarted): (WebInspector.AuditsPanel.prototype.resourceFinished): (WebInspector.AuditsPanel.prototype.reset): * inspector/front-end/Images/spinner.gif: Added. * inspector/front-end/WebKit.qrc: * inspector/front-end/audits.css: (.audit-launcher-view .resource-progress > img): * inspector/front-end/inspector.js: (WebInspector.updateResource): 2010-03-15 Philippe Normand Reviewed by Gustavo Noronha Silva. [GStreamer] replace g_idle_add / g_timeout_add calls with Timers in the gstreamer player https://bugs.webkit.org/show_bug.cgi?id=35735 Replaced g_idle_add calls with Timers immediately started once only. The g_timeout_add was replaced by a periodic Timer. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::volumeChangedTimerFired): (WebCore::MediaPlayerPrivate::volumeChanged): (WebCore::MediaPlayerPrivate::processBufferingStats): (WebCore::MediaPlayerPrivate::fillTimerFired): (WebCore::MediaPlayerPrivate::maxTimeLoaded): (WebCore::MediaPlayerPrivate::updateStates): (WebCore::MediaPlayerPrivate::muteChangedTimerFired): (WebCore::MediaPlayerPrivate::muteChanged): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 2010-03-12 Gustavo Noronha Silva Reviewed by Eric Carlson. media/video-preload.html fails https://bugs.webkit.org/show_bug.cgi?id=35793 Only effectively load, and start buffering when playing, or when the preload attribute is set. Test: media/video-preload.html * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::load): (WebCore::MediaPlayerPrivate::commitLoad): (WebCore::MediaPlayerPrivate::prepareToPlay): (WebCore::MediaPlayerPrivate::setPreload): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 2010-03-15 Shu Chang Reviewed by Holger Freyther. [Qt] The behavior of QGradient with no stops is defined differently from HTML5 spec, where the latter requires the gradient to be transparent black. Explicitly added a transparent black color stop to match the HTML5 behavior. https://bugs.webkit.org/show_bug.cgi?id=36060 * platform/graphics/qt/GradientQt.cpp: (WebCore::Gradient::platformGradient): 2010-03-11 Antonio Gomes Rubber-stamped by Holger Freyther. Patch by Antonio Gomes Some minor code clean ups in SpatialNavigation.cpp * page/SpatialNavigation.cpp: (WebCore::distanceInDirection): (WebCore::deflateIfOverlapped): 2010-03-13 Ilya Tikhonovsky Reviewed by Timothy Hatcher. WebInspector: Position of GraphBar elements is calculating more carefully and they fully visible at the bottom of Timeline panel. http://bugs.webkit.org/show_bug.cgi?id=35966 * inspector/front-end/TimelinePanel.js: (WebInspector.TimelineRecordGraphRow.prototype.update): 2010-03-15 MORITA Hajime Reviewed by Alexey Proskuryakov. Selection.modify extends too far with 'lineboundary'. https://bugs.webkit.org/show_bug.cgi?id=33413 Selection.modify() with 'lineboundary' granularity implies just "Go to the end of the line", unlike selection expansion with other type of granularities. This change handled LineGranularity as special case, to look-up end of line with UPSTREAM affinity. Doing this prevents look-up algorithm to go next line. Test: editing/selection/extend-selection-expected.txt * dom/Position.cpp: (WebCore::Position::getInlineBoxAndOffset): Handled an edge case for node look-up with UPSTREAM. * editing/SelectionController.cpp: (WebCore::SelectionController::modifyExtendingForward): Added UPSTREAM tweak for the case for LineGranularity. 2010-03-14 Yuzo Fujishima Reviewed by Shinichiro Hamaji. Always call PrintContext.end() from PrintContext::pageNumberForElement(). Without this change, WebKit remains in printing mode after determining the page number if the specified element is found. https://bugs.webkit.org/show_bug.cgi?id=36049 Test: printing/return-from-printing-mode.html * page/PrintContext.cpp: (WebCore::PrintContext::pageNumberForElement): 2010-03-11 Philippe Normand Reviewed by Gustavo Noronha Silva. [GStreamer] progressTimer never stopped after EOS https://bugs.webkit.org/show_bug.cgi?id=36007 Mark the pipeline as paused only if playback hasn't ended yet. When didEnd() is triggered, the pipeline is paused (but paused() still returns false) and a timeupdate event is fired, those 2 conditions allow the HTMLMediaElement to stop the progressTimer (in updatePlayerState, via mediaPlayerTimeChanged). * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::updateStates): 2010-03-14 Chang Shu Reviewed by Simon Hausmann. [Qt] [Symbian] Added block for ENABLE_SYMBIAN_DIALOG_PROVIDERS on Symbian platform. https://bugs.webkit.org/show_bug.cgi?id=35919 * WebCore.pro: 2010-03-14 Yael Aharon Reviewed by Darin Adler. Support for HTMLProgressElement https://bugs.webkit.org/show_bug.cgi?id=35937 Added support for HTMLProgressElement. This implementation is enabled only for Qt, because only RenderThemeQt was modified to actually draw the progress element. The labels attribute of the progress element will be implemented in a separate patch. Tests: fast/dom/HTMLProgressElement/progress-element.html fast/dom/HTMLProgressElement/set-progress-properties.html * DerivedSources.cpp: * DerivedSources.make: * GNUmakefile.am: * WebCore.gypi: * WebCore.pri: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): * css/CSSValueKeywords.in: * css/html.css: * html/HTMLElement.cpp: (WebCore::inlineTagList): * html/HTMLElementsAllInOne.cpp: * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::HTMLFormControlElement): * html/HTMLFormControlElement.h: * html/HTMLProgressElement.cpp: Added. (WebCore::HTMLProgressElement::HTMLProgressElement): (WebCore::HTMLProgressElement::create): (WebCore::HTMLProgressElement::createRenderer): (WebCore::HTMLProgressElement::formControlType): (WebCore::HTMLProgressElement::parseMappedAttribute): (WebCore::HTMLProgressElement::value): (WebCore::HTMLProgressElement::setValue): (WebCore::HTMLProgressElement::max): (WebCore::HTMLProgressElement::setMax): (WebCore::HTMLProgressElement::position): * html/HTMLProgressElement.h: Added. (WebCore::HTMLProgressElement::isOptionalFormControl): * html/HTMLProgressElement.idl: Added. * html/HTMLTagNames.in: * page/DOMWindow.idl: * platform/ThemeTypes.h: * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::adjustProgressBarStyle): (WebCore::RenderThemeQt::paintProgressBar): * platform/qt/RenderThemeQt.h: * rendering/RenderObject.h: (WebCore::RenderObject::isProgress): * rendering/RenderProgress.cpp: Added. (WebCore::RenderProgress::RenderProgress): (WebCore::RenderProgress::baselinePosition): (WebCore::RenderProgress::calcPrefWidths): (WebCore::RenderProgress::layout): (WebCore::RenderProgress::updateFromElement): * rendering/RenderProgress.h: Added. (WebCore::RenderProgress::renderName): (WebCore::RenderProgress::isProgress): (WebCore::toRenderProgress): * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): (WebCore::RenderTheme::paint): (WebCore::RenderTheme::paintBorderOnly): (WebCore::RenderTheme::paintDecorations): (WebCore::RenderTheme::adjustProgressBarStyle): * rendering/RenderTheme.h: (WebCore::RenderTheme::paintProgressBar): 2010-03-14 Oliver Hunt Reviewed by Darin Adler. REGRESSION(r53287): drop event is not fired if dataTransfer.dropEffect is not explicitly set https://bugs.webkit.org/show_bug.cgi?id=36095 The issue here is that while dropEffect is meant to be initialized to "none", the behaviour of the drag is differs between dragEffect not being set and dragEffect being explicitly set to "none" This patch corrects this behaviour by making Clipboard distinguish between the initial "none" value of dropEffect and an explicit "none". This alone is insufficient for correct behaviour, we also need to resurrect the removed defaultOperationForDrag function, but we now use the function only when dragEffect is uninitialized. There are a few tweaks to the behaviour of the defaultOperationForDrag as well to ensure exactly the same set of outcomes for all cases that we may hit it. * dom/Clipboard.cpp: (WebCore::Clipboard::Clipboard): (WebCore::dragOpFromIEOp): (WebCore::Clipboard::destinationOperation): * dom/Clipboard.h: (WebCore::Clipboard::dropEffect): (WebCore::Clipboard::dropEffectIsUninitialized): * page/DragController.cpp: (WebCore::defaultOperationForDrag): (WebCore::DragController::tryDHTMLDrag): 2010-03-14 Antti Koivisto Reviewed by Simon Hausmann. https://bugs.webkit.org/show_bug.cgi?id=35146 Support tiled backing store Implements a basic tiled backing store mechanism. Tiles are created and deleted on demand. The page content is cached to the tiles. Tile content is kept in sync with the document. Since the backing store covers area larger than the currently visible viewport, the document can be scrolled quickly without having to enter rendering tree painting. The tile management code is platform independent. This patch has simple QPixmap based tile implementation for Qt. The feature is behind ENABLE_TILED_BACKING_STORE flag. * WebCore.pri: * WebCore.pro: * page/Frame.cpp: (WebCore::Frame::Frame): (WebCore::Frame::setTiledBackingStoreEnabled): (WebCore::Frame::tiledBackingStorePaintBegin): (WebCore::Frame::tiledBackingStorePaint): (WebCore::Frame::tiledBackingStorePaintEnd): (WebCore::Frame::tiledBackingStoreContentsRect): * page/Frame.h: (WebCore::Frame::tiledBackingStore): * page/FrameView.cpp: (WebCore::FrameView::repaintContentRectangle): (WebCore::FrameView::doDeferredRepaints): * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setTiledBackingStoreEnabled): * page/Settings.h: (WebCore::Settings::tiledBackingStoreEnabled): * platform/graphics/Tile.h: Added. (WebCore::Tile::create): (WebCore::Tile::coordinate): (WebCore::Tile::rect): * platform/graphics/TiledBackingStore.cpp: Added. (WebCore::TiledBackingStore::TiledBackingStore): (WebCore::TiledBackingStore::~TiledBackingStore): (WebCore::TiledBackingStore::invalidate): (WebCore::TiledBackingStore::updateTileBuffers): (WebCore::TiledBackingStore::paint): (WebCore::TiledBackingStore::viewportChanged): (WebCore::TiledBackingStore::setContentsScale): (WebCore::TiledBackingStore::tileDistance): (WebCore::TiledBackingStore::createTiles): (WebCore::TiledBackingStore::dropOverhangingTiles): (WebCore::TiledBackingStore::dropTilesOutsideRect): (WebCore::TiledBackingStore::tileAt): (WebCore::TiledBackingStore::setTile): (WebCore::TiledBackingStore::removeTile): (WebCore::TiledBackingStore::mapToContents): (WebCore::TiledBackingStore::mapFromContents): (WebCore::TiledBackingStore::contentsRect): (WebCore::TiledBackingStore::tileRectForCoordinate): (WebCore::TiledBackingStore::tileCoordinateForPoint): (WebCore::TiledBackingStore::startTileBufferUpdateTimer): (WebCore::TiledBackingStore::tileBufferUpdateTimerFired): (WebCore::TiledBackingStore::startTileCreationTimer): (WebCore::TiledBackingStore::tileCreationTimerFired): (WebCore::TiledBackingStore::setContentsFrozen): * platform/graphics/TiledBackingStore.h: Added. (WebCore::TiledBackingStore::contentsScale): (WebCore::TiledBackingStore::contentsFrozen): * platform/graphics/TiledBackingStoreClient.h: Added. * platform/graphics/qt/TileQt.cpp: Added. (WebCore::checkeredPixmap): (WebCore::Tile::Tile): (WebCore::Tile::~Tile): (WebCore::Tile::isDirty): (WebCore::Tile::isReadyToPaint): (WebCore::Tile::invalidate): (WebCore::Tile::updateBackBuffer): (WebCore::Tile::swapBackBufferToFront): (WebCore::Tile::paint): (WebCore::Tile::paintCheckerPattern): 2010-03-14 Dan Bernstein Reviewed by Darin Adler. WebCore part of removing support for legacy versions of Core Graphics * WebCore.vcproj/WebCore.vcproj: Removed FontDatabase.{cpp,h} * platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs): Removed call to wkCanCreateCGFontWithLOGFONT(), as it is now always true. * platform/graphics/win/FontCacheWin.cpp: (WebCore::FontCache::createFontPlatformData): Ditto. * platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Updated for the removal of m_cgFont. (WebCore::FontCustomPlatformData::fontPlatformData): Removed call to wkCanCreateCGFontWithLOGFONT(), as it is now always true. (WebCore::createFontCustomPlatformData): Ditto. Also updated for change to the FontCustomPlatformData constructor. * platform/graphics/win/FontCustomPlatformData.h: Removed m_cgFont member. (WebCore::FontCustomPlatformData::FontCustomPlatformData): Removed cgFont parameter. * platform/graphics/win/FontDatabase.cpp: Removed. * platform/graphics/win/FontDatabase.h: Removed. * platform/graphics/win/FontPlatformDataCGWin.cpp: (WebCore::FontPlatformData::platformDataInit): Removed call to wkCanCreateCGFontWithLOGFONT(), as it is now always true. * platform/win/TemporaryLinkStubs.cpp: (WebCore::populateFontDatabase): Removed stub. 2010-03-14 Jessie Berlin Reviewed by Sam Weinig. "event.ctrlKey" is always false when dragging an element with "ctrl" key down https://bugs.webkit.org/show_bug.cgi?id=17113 No new tests. * page/DragController.cpp: (WebCore::createMouseEvent): Use the current state of the shift, ctrl, alt, and meta keys when creating the drag mouse event. 2010-03-13 Antonio Gomes Not reviewed identation fix. * manual-tests/spatial-navigation/spatial-navigation-test-cases.html: 2010-03-13 Kim Grönholm Reviewed by Kenneth Rohde Christiansen. [Qt] GraphicsLayer: Opacity change from zero to non-zero doesn't always have effect with AC https://bugs.webkit.org/show_bug.cgi?id=36034 * platform/graphics/qt/GraphicsLayerQt.cpp: (WebCore::OpacityAnimationQt::applyFrame): 2010-03-13 Kim Grönholm Reviewed by Kenneth Rohde Christiansen. [Qt] GraphicsLayer: Opacity transitions end with begin value https://bugs.webkit.org/show_bug.cgi?id=36019 * platform/graphics/qt/GraphicsLayerQt.cpp: (WebCore::AnimationQt::updateCurrentTime): 2010-03-13 Dirk Schulze No review, rolling out r55927. http://trac.webkit.org/changeset/55927 https://bugs.webkit.org/show_bug.cgi?id=35793 Breaks Gtk build bots. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::load): (WebCore::MediaPlayerPrivate::setPreload): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 2010-03-12 Dirk Schulze Reviewed by Nikolas Zimmermann. SVG Glyphs - transform path not context https://bugs.webkit.org/show_bug.cgi?id=36070 SVGFont should transform the path of a glyph, not the context. Modifying the context causes wrong gradient transformations. This bug doesn't influence CG because we generally fill or stroke texts with a mask image. All other platforms provide a direct way to make the drawings. * svg/SVGFont.cpp: (WebCore::Font::drawTextUsingSVGFont): 2010-03-12 Beth Dakin Reviewed by Simon Fraser. Fix for https://bugs.webkit.org/show_bug.cgi?id=34942 Fullscreen API naming is inconsistent -and corresponding- This patch changes all occurrences of "fullScreen" to the more popular "fullscreen." webkitEnterFullScreen and webkitExitFullScreen have been maintained for now for backwards compatibility. * html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::webkitEnterFullscreen): (WebCore::HTMLVideoElement::webkitExitFullscreen): * html/HTMLVideoElement.h: (WebCore::HTMLVideoElement::webkitEnterFullScreen): (WebCore::HTMLVideoElement::webkitExitFullScreen): * html/HTMLVideoElement.idl: * platform/graphics/mac/MediaPlayerProxy.h: 2010-03-12 James Robinson Reviewed by Adam Barth. Add virtual destructor to DOMWrapperWorld https://bugs.webkit.org/show_bug.cgi?id=36077 DOMWrapperWorld is RefCounted. IsolatedWorld inherits from DOMWrapperWorld and has member variables with destructors, so DOMWrapperWorld needs to have a declared virtual d'tor to ensure that its derived class's destructors are called. No new tests, no change in behavior * bindings/v8/DOMWrapperWorld.h: (WebCore::DOMWrapperWorld::~DOMWrapperWorld): 2010-03-11 Gavin Barraclough Reviewed by Oliver Hunt. Bug 36075 - Clean up screwyness re static string impls & Identifiers. * platform/text/StringImpl.cpp: (WebCore::StringImpl::~StringImpl): Add ASSERT (WebCore::StringImpl::sharedBuffer): Add ASSERT * platform/text/StringImpl.h: (WebCore::StringImpl::setHash): Add ASSERT (WebCore::StringImpl::isStatic): added. 2010-03-12 Enrica Casucci Reviewed by Simon Fraser. Content of 3D tests appears at the bottom right corner sometimes. There were two problems to solve here: - the incorrect anchoring of the rootChildLayer that was causing the composited content to be positioned incorrectly - the failure to paint the non composited content into the backing store when animating composited content. The first problem has been solved by leaving the original anchor point for the rootChildLayer and splitting the tasks of clipping and scrolling using two separate layers. The second problem has been solved leveraging the knowledge that WebView has of the dirty region of the backing store to pass this information to the layer renderer. This allows the renderer to force a paint into the backing store before moving to the compositing. Tests: compositing/geometry/horizontal-scroll-composited.html compositing/geometry/vertical-scroll-composited.html * manual-tests/win/horizontal-scroll-composited.html: Removed. This is now a layout test. * manual-tests/win/milliondollar.html: Added. * platform/graphics/win/WKCACFLayerRenderer.cpp: (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Added initialization of dirty flag. (WebCore::WKCACFLayerRenderer::setScrollFrame): (WebCore::WKCACFLayerRenderer::updateScrollFrame): Updated to resize and position the clip and scroll layers. (WebCore::WKCACFLayerRenderer::setRootChildLayer): (WebCore::WKCACFLayerRenderer::createRenderer): Added new layer hierarchy. (WebCore::WKCACFLayerRenderer::destroyRenderer): Remove clip layer on destroy. (WebCore::WKCACFLayerRenderer::resize): (WebCore::WKCACFLayerRenderer::paint): Forcing paint massage to trigger paint into the backing store. * platform/graphics/win/WKCACFLayerRenderer.h: (WebCore::WKCACFLayerRenderer::setBackingStoreDirty): Added. 2010-03-12 Robert Hogan Not reviewed, build fix. Revert http://trac.webkit.org/projects/webkit/changeset/55374 which broke the !ENABLE(DATABASE) build on all platforms when attempting to fix the --minimal build on Qt. Support for SQLite now seems to be non-negotiable for the Qt build but making it mandatory requires review, so re-break --minimal Qt build for now. Qt build issue now tracked at https://bugs.webkit.org/show_bug.cgi?id=36073 * page/GeolocationPositionCache.cpp: 2010-03-12 Dan Bernstein Reviewed by Alexey Proskuryakov. REGRESSION: toolbar is missing at http://www.glom.org/ https://bugs.webkit.org/show_bug.cgi?id=35507 * css/CSSImportRule.cpp: (WebCore::CSSImportRule::setCSSStyleSheet): Extend the change made in to detect the two variants of KHTMLFixes.css in @import rules as well as in elements. 2010-03-12 Gavin Barraclough Reviewed by Geoff Garen. Bug 36052 - [Qt] REGRESSION(55878) 63 test cases crash r55878 changed UStringImpl::empty()->characters() to be non-null, so TextBreakIteratorQt.cpp now should check the length of strings (previously was assuming all strings with a non-null data pointer had a length of at least 1). * platform/text/qt/TextBreakIteratorQt.cpp: (WebCore::wordBreakIterator): (WebCore::characterBreakIterator): (WebCore::lineBreakIterator): (WebCore::sentenceBreakIterator): 2010-03-12 Dirk Schulze Reviewed by Nikolas Zimmermann. SVG fallback color doesn't work for bogus gradients. https://bugs.webkit.org/show_bug.cgi?id=35479 Use a given fallback color on ignored gradients if present. Gradients must be ignored, if one dimension of the objects boundingBox is zero. Test: svg/custom/gradient-with-1d-boundingbox.svg * svg/graphics/SVGPaintServer.cpp: (WebCore::SVGPaintServer::strokePaintServer): * svg/graphics/SVGPaintServerGradient.cpp: (WebCore::SVGPaintServerGradient::setup): 2010-03-12 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=36069 Eliminate InlineRunBox. * WebCore.xcodeproj/project.pbxproj: * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::adjustPosition): (WebCore::InlineFlowBox::paintFillLayer): (WebCore::InlineFlowBox::paintBoxDecorations): (WebCore::InlineFlowBox::paintMask): * rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::InlineFlowBox): (WebCore::InlineFlowBox::prevLineBox): (WebCore::InlineFlowBox::nextLineBox): (WebCore::InlineFlowBox::setNextLineBox): (WebCore::InlineFlowBox::setPreviousLineBox): * rendering/InlineRunBox.h: Removed. * rendering/InlineTextBox.h: (WebCore::InlineTextBox::InlineTextBox): (WebCore::InlineTextBox::prevTextBox): (WebCore::InlineTextBox::nextTextBox): (WebCore::InlineTextBox::setNextTextBox): (WebCore::InlineTextBox::setPreviousTextBox): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::destroy): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition): * rendering/RenderInline.cpp: (WebCore::RenderInline::destroy): (WebCore::RenderInline::absoluteRects): (WebCore::RenderInline::absoluteQuads): (WebCore::RenderInline::linesBoundingBox): (WebCore::RenderInline::linesVisibleOverflowBoundingBox): (WebCore::RenderInline::addFocusRingRects): (WebCore::RenderInline::paintOutline): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::localBoundingBox): * rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::deleteLineBoxTree): (WebCore::RenderLineBoxList::extractLineBox): (WebCore::RenderLineBoxList::attachLineBox): (WebCore::RenderLineBoxList::removeLineBox): (WebCore::RenderLineBoxList::deleteLineBoxes): (WebCore::RenderLineBoxList::dirtyLineBoxes): (WebCore::RenderLineBoxList::paint): (WebCore::RenderLineBoxList::hitTest): (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): (WebCore::RenderLineBoxList::checkConsistency): * rendering/RenderSVGInline.cpp: (WebCore::RenderSVGInline::absoluteRects): (WebCore::RenderSVGInline::absoluteQuads): * rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::absoluteRects): (WebCore::RenderSVGText::absoluteQuads): (WebCore::RenderSVGText::objectBoundingBox): * rendering/RenderText.cpp: (WebCore::RenderText::extractTextBox): (WebCore::RenderText::attachTextBox): (WebCore::RenderText::removeTextBox): (WebCore::RenderText::createInlineTextBox): (WebCore::RenderText::positionLineBox): * rendering/RootInlineBox.h: (WebCore::RootInlineBox::nextRootBox): (WebCore::RootInlineBox::prevRootBox): 2010-03-12 Gustavo Noronha Silva Reviewed by Eric Carlson. media/video-preload.html fails https://bugs.webkit.org/show_bug.cgi?id=35793 Only effectively load, and start buffering when playing, or when the preload attribute is set. Test: media/video-preload.html * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::load): (WebCore::MediaPlayerPrivate::commitLoad): (WebCore::MediaPlayerPrivate::prepareToPlay): (WebCore::MediaPlayerPrivate::setPreload): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 2010-03-12 Dmitry Titov Not reviewed, build fix. Reverts 55920 and 55921. Landing for Jian Li. * Android.derived.jscbindings.mk: * Android.derived.v8bindings.mk: * DerivedSources.cpp: * DerivedSources.make: * GNUmakefile.am: * WebCore.gypi: * WebCore.pri: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSDOMFormDataCustom.cpp: Removed. * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::send): * bindings/scripts/CodeGeneratorJS.pm: * bindings/v8/V8Index.h: * bindings/v8/custom/V8DOMFormDataCustom.cpp: Removed. * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: (WebCore::V8XMLHttpRequest::sendCallback): * html/DOMFormData.idl: Removed. * page/DOMWindow.idl: 2010-03-12 Jakob Petsovits Reviewed by Dirk Schulze. [OpenVG] Add support for drawing text to PainterOpenVG https://bugs.webkit.org/show_bug.cgi?id=35581 Doesn't come with any actual font classes, as OpenVG by itself doesn't provide any access to platform fonts but just the means to draw glyphs that have been loaded manually before. * platform/graphics/openvg/PainterOpenVG.cpp: (WebCore::PlatformPainterState::PlatformPainterState): (WebCore::PlatformPainterState::copyPaintState): (WebCore::PainterOpenVG::textDrawingMode): (WebCore::PainterOpenVG::setTextDrawingMode): (WebCore::PainterOpenVG::drawText): * platform/graphics/openvg/PainterOpenVG.h: 2010-03-12 Jakob Petsovits Reviewed by Dirk Schulze. [OpenVG] Use masks to implement non-rectilinear clipping https://bugs.webkit.org/show_bug.cgi?id=35544 Requires some additional context switching logic to make sure the right context is current when dealing with the mask, because we don't store it by ourselves. Initial version of this code was written by Eli Fidler , I did a couple of bug fixes and efficiency improvements since then. * platform/graphics/openvg/GraphicsContextOpenVG.cpp: (WebCore::GraphicsContext::clipPath): (WebCore::GraphicsContext::clip): (WebCore::GraphicsContext::clipOut): (WebCore::GraphicsContext::clipOutEllipseInRect): (WebCore::GraphicsContext::addInnerRoundedRectClip): * platform/graphics/openvg/PainterOpenVG.cpp: (WebCore::PlatformPainterState::PlatformPainterState): (WebCore::PlatformPainterState::~PlatformPainterState): (WebCore::PlatformPainterState::maskingEnabled): (WebCore::PlatformPainterState::applyState): (WebCore::PlatformPainterState::saveMaskIfNecessary): (WebCore::PainterOpenVG::intersectClipRect): (WebCore::PainterOpenVG::clipPath): (WebCore::PainterOpenVG::save): * platform/graphics/openvg/PainterOpenVG.h: (WebCore::PainterOpenVG::): * platform/graphics/openvg/SurfaceOpenVG.cpp: (WebCore::SurfaceOpenVG::makeCurrent): (WebCore::SurfaceOpenVG::makeCompatibleCurrent): * platform/graphics/openvg/SurfaceOpenVG.h: (WebCore::SurfaceOpenVG::): 2010-03-12 Jian Li Reviewed by Sam Weinig. Add DOMFormData.idl to expose FormData interface. https://bugs.webkit.org/show_bug.cgi?id=36024 The implementation is based on XMLHttpRequest 2 spec: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata Test: http/tests/local/send-form-data.html * Android.derived.jscbindings.mk: * Android.derived.v8bindings.mk: * DerivedSources.cpp: * DerivedSources.make: * GNUmakefile.am: * WebCore.pri: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSDOMFormDataCustom.cpp: Added. * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::send): * bindings/scripts/CodeGeneratorJS.pm: * html/DOMFormData.idl: Added. * page/DOMWindow.idl: 2010-03-12 Jakob Petsovits Reviewed by Dirk Schulze. [OpenVG] Add a SurfaceOpenVG constructor for EGL client buffer surfaces https://bugs.webkit.org/show_bug.cgi?id=35538 SurfaceOpenVG can now not only encapsulate pbuffer and window surfaces but also VGImage-based ones. * platform/graphics/openvg/EGLDisplayOpenVG.cpp: (WebCore::EGLDisplayOpenVG::createPbufferFromClientBuffer): * platform/graphics/openvg/EGLDisplayOpenVG.h: * platform/graphics/openvg/SurfaceOpenVG.cpp: (WebCore::SurfaceOpenVG::SurfaceOpenVG): * platform/graphics/openvg/SurfaceOpenVG.h: 2010-03-12 Alpha Lam Reviewed by Eric Carlson. Fix a crash when resource loading of media element is canceled. https://bugs.webkit.org/show_bug.cgi?id=35992 Use of HTMLMediaElement::duration() after resource loading was canceled will cause a crash. This is because HTMLMediaElement::m_player is used when NULL. Test: http/tests/media/video-cancel-load.html * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::duration): Avoid calling to m_player when it is null. (WebCore::HTMLMediaElement::userCancelledLoad): Set m_readyState to HAVE_NOTHING. 2010-03-12 Dan Bernstein Reviewed by Darin Adler. CSSPrimitiveValue::parserValue() returns deleted memory https://bugs.webkit.org/show_bug.cgi?id=20069 No test added, since with the CSS variables feature disabled, the pointer to the freed memory is never dereferenced. * css/CSSPrimitiveValue.cpp: (WebCore::valueOrPropertyName): Changed to return a const AtomicString& from a static table. (WebCore::CSSPrimitiveValue::parserValue): Updated for the above change. 2010-03-12 Dan Bernstein Build fix. * platform/chromium/PlatformKeyboardEventChromium.cpp: 2010-03-12 Dan Bernstein Reviewed by Darin Adler. Hover states not updated when overflow section scrolls under stationary mouse pointer https://bugs.webkit.org/show_bug.cgi?id=35949 Test: fast/events/overflow-scroll-fake-mouse-move.html Soon after an overflow section scrolls under the mouse pointer, dispatch a fake mouse move event. This is similar to how frame scrolling is handled in WebKit, and has the effect of updating hover state, dispatching DOM mouse events, and updating the tool tip. * page/EventHandler.cpp: (WebCore::EventHandler::EventHandler): Initialize m_fakeMouseMoveEventTimer. (WebCore::EventHandler::~EventHandler): Assert that the timer is not active. (WebCore::EventHandler::clear): Stop the timer. (WebCore::EventHandler::handleMousePressEvent): Cancel pending fake mouse move events. (WebCore::EventHandler::handleMouseMoveEvent): Ditto. (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad): If the mouse is in the passed-in quad, ensure that a fake mouse move event is scheduled to fire soon. (WebCore::EventHandler::cancelFakeMouseMoveEvent): Does what the name says. (WebCore::EventHandler::fakeMouseMoveEventTimerFired): Constructs a PlatformMouseEvent with the current mouse location, modifier key state and time stamp and calls mouseMoved(). * page/EventHandler.h: * platform/PlatformKeyboardEvent.h: Declared getCurrentModifierState(). * platform/android/KeyEventAndroid.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out. * platform/brew/PlatformKeyboardEventBrew.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto. * platform/chromium/PlatformKeyboardEventChromium.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added. * platform/efl/PlatformKeyboardEventEfl.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out. * platform/gtk/KeyEventGtk.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto. * platform/haiku/PlatformKeyboardEventHaiku.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added. * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto. * platform/qt/PlatformKeyboardEventQt.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out. * platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added. * platform/wx/KeyboardEventWx.cpp: (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollToOffset): Call EventHandler::dispatchFakeMouseMoveEventSoonInQuad(). Moved things around a little to avoid computing the repaint rect twice. 2010-03-12 Kent Hansen Reviewed by Darin Adler. Webkit doesn't build with workers on and database off https://bugs.webkit.org/show_bug.cgi?id=35997 Added missing ENABLE(DATABASE) guards. * workers/WorkerThread.cpp: (WebCore::WorkerThreadShutdownStartTask::performTask): 2010-03-12 Dan Winship Reviewed by Gustavo Noronha. Make the defaultCookieJar use a no-third-party policy. Most applications set their own cookie jar, but DumpRenderTree doesn't, so it was failing the new third-party-cookie test. * platform/network/soup/CookieJarSoup.cpp: (WebCore::defaultCookieJar): 2010-03-11 Simon Hausmann Reviewed by Laszlo Gombos. [Qt] Enable network state notifier when compiling against Qt 4.7 https://bugs.webkit.org/show_bug.cgi?id=35983 * WebCore.pri: * platform/network/qt/NetworkStateNotifierPrivate.h: * platform/network/qt/NetworkStateNotifierQt.cpp: 2010-03-11 Benjamin Poulain Reviewed by Adam Treat. Do not render the full frame when there is some elements with fixed positioning https://bugs.webkit.org/show_bug.cgi?id=33150 The frame view take into acount the list of fixed object when scrolling the view. If the number of object is lower than a certain threshold, the pixel are blitted, and the invalidated area updated. * page/FrameView.cpp: (WebCore::FrameView::FrameView): (WebCore::FrameView::useSlowRepaints): (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): (WebCore::FrameView::addFixedObject): (WebCore::FrameView::removeFixedObject): (WebCore::FrameView::scrollContentsFastPath): * page/FrameView.h: * platform/ScrollView.cpp: (WebCore::ScrollView::scrollContents): (WebCore::ScrollView::scrollContentsFastPath): * platform/ScrollView.h: * rendering/RenderBlock.h: (WebCore::RenderBlock::positionedObjects): * rendering/RenderBox.cpp: (WebCore::RenderBox::styleWillChange): * rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange): 2010-03-11 Aaron Boodman Kill WebDocument::applicationID() (part 1). Modify interface to WebCore::NotificationPresenter::checkPermission() and remove implementation of WebDocument::applicationID(). Breaking API changes will be in a subsequent change. https://bugs.webkit.org/show_bug.cgi?id=35846 * notifications/Notification.cpp: (WebCore::Notification::Notification): * notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::checkPermission): * notifications/NotificationPresenter.h: 2010-03-11 Dmitry Titov Reviewed by David Levin. [v8] Remove obsolete code for delayed dereferencing of DOM objects for single-heap, multithread v8 usage. https://bugs.webkit.org/show_bug.cgi?id=36043 No new tests, no changes in functionality. * bindings/v8/DOMData.cpp: (WebCore::DOMData::DOMData): * bindings/v8/DOMData.h: (WebCore::DOMData::handleWeakObject): * bindings/v8/DOMDataStore.cpp: * bindings/v8/DOMDataStore.h: (WebCore::DOMDataStore::domObjectMap): (WebCore::DOMDataStore::activeDomObjectMap): (WebCore::DOMDataStore::domSvgElementInstanceMap): (WebCore::DOMDataStore::domSvgObjectWithContextMap): * bindings/v8/ScopedDOMDataStore.cpp: (WebCore::ScopedDOMDataStore::ScopedDOMDataStore): * bindings/v8/StaticDOMDataStore.cpp: (WebCore::StaticDOMDataStore::StaticDOMDataStore): * bindings/v8/StaticDOMDataStore.h: * bindings/v8/V8DOMMap.cpp: (WebCore::removeAllDOMObjectsInCurrentThread): 2010-03-11 Gavin Barraclough Rubber stamped by Oliver Hunt. Remove nonsense comments used in development & commited in error. * platform/text/StringImpl.h: 2010-03-11 Gavin Barraclough Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=36041 Remove unnecessary differences in common code between WebCore::StringImpl & JSC::UStringImpl Much of the code in WebCore::StringImpl and JSC::UStringImpl is now very similar, but has trivial and unnecessary formatting differences, such as the exact wording of comments, missing ASSERTs, functions implemented in the .h vs .cpp etc. * platform/text/StringImpl.cpp: (WebCore::StringImpl::empty): Reordered in file, made empty()->characters() return a non-null value to match JSC. (WebCore::StringImpl::createUninitialized): Added overflow check. (WebCore::StringImpl::create): Reordered in file. (WebCore::StringImpl::sharedBuffer): Reordered in file. * platform/text/StringImpl.h: (WebCore::StringImpl::): Remove ThreadGlobalData as friend, move SharableUChar & SharedUChar to WebCore namespace. (WebCore::StringImpl::StringImpl): Made static constructor method (used to create empty string) take arguments, to match JSC & prevent accidental use. (WebCore::StringImpl::setHash): Added missing ASSERT. (WebCore::StringImpl::adopt): Make adpot work with Vectors with a non-zero inline capacity. (WebCore::StringImpl::characters): Mark as const to match JSC. (WebCore::StringImpl::hash): Use !m_hash instead of m_hash == 0. (WebCore::StringImpl::computeHash): Remove redundant 'inline'. 2010-03-11 Mark Rowe Reviewed by David Kilzer. Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version. * Configurations/Base.xcconfig: 2010-03-11 Jungshik Shin [Chromium]: Plane 2 characters are rendered "blank" (not even empty boxes) on Windows even when there are fonts to cover them. https://bugs.webkit.org/show_bug.cgi?id=35605 Test:LayoutTests/fast/text/international/plane2.html * platform/graphics/chromium/FontCacheChromiumWin.cpp: (WebCore::LookupAltName): Add two ExtB fonts to the array (namePairs) that are used for Plane 2 character rendering. (WebCore::FontCache::getFontDataForCharacters): Add two more fonts to the fallback font list * platform/graphics/chromium/FontUtilsChromiumWin.cpp: (WebCore::getFallbackFamily): Fix the fallback font lookup to cover Plane 2 (CJK ExtB). 2010-03-11 Leandro Pereira Reviewed by Holger Freyther. Add EFL port files to platform/efl. http://webkit.org/b/35889 * platform/efl/SystemTimeEfl.cpp: Added. 2010-03-11 Mark Rowe Reviewed by Tim Hatcher. Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the current Mac OS X version unless otherwise specified. Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR. Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice may not be usable when targetting a different Mac OS X version. Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used. * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: * Configurations/FeatureDefines.xcconfig: * Configurations/Version.xcconfig: * Configurations/WebCore.xcconfig: 2010-03-11 Anders Carlsson Reviewed by David Hyatt. Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents. * loader/EmptyClients.h: * page/Chrome.cpp: * page/Chrome.h: * page/ChromeClient.h: * platform/HostWindow.h: 2010-03-11 Nate Chapin Reviewed by Dimitri Glazkov. [V8] Remove DOMObjectsInclude.h and update headers accordingly. https://bugs.webkit.org/show_bug.cgi?id=36036 * WebCore.gypi: * bindings/v8/DOMData.h: * bindings/v8/DOMDataStore.h: * bindings/v8/DOMObjectsInclude.h: Removed. * bindings/v8/V8DOMMap.cpp: * bindings/v8/V8DOMWindowShell.cpp: * bindings/v8/V8DOMWrapper.cpp: * bindings/v8/V8GCController.cpp: * bindings/v8/V8Proxy.cpp: 2010-03-11 Simon Fraser Reviewed by Mark Rowe. Remove duplicate entries revealed after sorting. * WebCore.xcodeproj/project.pbxproj: 2010-03-11 Simon Fraser Reviewed by Mark Rowe. Sort the project file (also removing some bogus spaces that caused Xcode to rewrite the file every time you opened it). * WebCore.xcodeproj/project.pbxproj: 2010-03-11 Nate Chapin Reviewed by Dimitri Glazkov. Fix style issues and improve comments from http://trac.webkit.org/changeset/55853. https://bugs.webkit.org/show_bug.cgi?id=36029 * platform/animation/TimingFunction.h: (WebCore::TimingFunction::TimingFunction): 2010-03-11 Chris Fleizach Reviewed by Beth Dakin. accessibilityIsIgnoredBase() needs to respect when platform says include https://bugs.webkit.org/show_bug.cgi?id=36025 Changed accessibilityIsIgnoredBase() to return a policy instead of a yes/no answer. This allows the platform to make a yes decision on an element. * accessibility/AccessibilityList.cpp: (WebCore::AccessibilityList::accessibilityIsIgnored): * accessibility/AccessibilityListBox.cpp: (WebCore::AccessibilityListBox::accessibilityIsIgnored): * accessibility/AccessibilityObject.h: (WebCore::): (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase): (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): * accessibility/AccessibilityRenderObject.h: * accessibility/AccessibilitySlider.cpp: (WebCore::AccessibilitySlider::accessibilityIsIgnored): * accessibility/AccessibilityTable.cpp: (WebCore::AccessibilityTable::accessibilityIsIgnored): * accessibility/AccessibilityTableCell.cpp: (WebCore::AccessibilityTableCell::accessibilityIsIgnored): * accessibility/AccessibilityTableRow.cpp: (WebCore::AccessibilityTableRow::accessibilityIsIgnored): * accessibility/chromium/AccessibilityObjectChromium.cpp: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): * accessibility/gtk/AccessibilityObjectAtk.cpp: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): * accessibility/mac/AccessibilityObjectMac.mm: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): * accessibility/qt/AccessibilityObjectQt.cpp: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): * accessibility/win/AccessibilityObjectWin.cpp: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): * accessibility/wx/AccessibilityObjectWx.cpp: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 2010-03-11 Kenneth Russell Reviewed by Dimitri Glazkov. Fix build breakage with ENABLE_3D_CANVAS=0 https://bugs.webkit.org/show_bug.cgi?id=35995 No new tests; verified in Chromium that WebGL is disabled in ENABLE_3D_CANVAS=0 builds. * bindings/v8/custom/V8DocumentCustom.cpp: * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 2010-03-11 Nate Chapin Unreviewed, Chromium mac build fix. Add an explicit copy constructor to TimingFunction. http://trac.webkit.org/changeset/55835 trigged an inlining bug in gcc that the copy constructor resolves. * platform/animation/TimingFunction.h: (WebCore::TimingFunction::TimingFunction): 2010-03-11 Chris Fleizach Fixing GTK. No review. support lang attribute on