2009-12-10 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=32140 REGRESSION(r50072): Mailman administrative functionality is broken Test: http/tests/misc/percent-sign-in-form-field-name.html * platform/network/FormDataBuilder.cpp: (WebCore::appendQuotedString): Don't encode percent sign, we never had a good reason to do that. 2009-12-10 Kent Hansen Reviewed by Geoffrey Garen. Remove getPropertyAttributes() from JavaScript bindings. https://bugs.webkit.org/show_bug.cgi?id=31933 The functionality is provided by getOwnPropertyDescriptor(). * WebCore.order: * bindings/js/JSDOMWindowCustom.cpp: * bindings/js/JSDOMWindowShell.cpp: * bindings/js/JSDOMWindowShell.h: * bindings/scripts/CodeGeneratorJS.pm: * page/DOMWindow.idl: 2009-12-10 Kenneth Russell Reviewed by Oliver Hunt. Changed WebGLRenderingContext to synthesize GL errors rather than raising JavaScript exceptions. Removed internal getError() calls after each graphics call. The GraphicsContext3D maintains the synthetic exceptions because only it has complete information about certain conditions requiring them to be raised. Based on idea from Ilmari Heikkinen, added create3DDebugContext() to webgl-test.js and changed the WebGL layout tests expecting error conditions to use it. Updated expected.txt files, which now implicitly test the OpenGL error as it is part of the exception's message. Added new targeted test covering aspects of synthetic errors as well as regression tests for bugs uncovered during its development. Test: fast/canvas/webgl/error-reporting.html * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::sizeInBytes): (WebCore::WebGLRenderingContext::activeTexture): (WebCore::WebGLRenderingContext::attachShader): (WebCore::WebGLRenderingContext::bindAttribLocation): (WebCore::WebGLRenderingContext::bindBuffer): (WebCore::WebGLRenderingContext::bindFramebuffer): (WebCore::WebGLRenderingContext::bindRenderbuffer): (WebCore::WebGLRenderingContext::bindTexture): (WebCore::WebGLRenderingContext::bufferData): (WebCore::WebGLRenderingContext::bufferSubData): (WebCore::WebGLRenderingContext::compileShader): (WebCore::WebGLRenderingContext::createShader): (WebCore::WebGLRenderingContext::detachShader): (WebCore::WebGLRenderingContext::disableVertexAttribArray): (WebCore::WebGLRenderingContext::drawArrays): (WebCore::WebGLRenderingContext::drawElements): (WebCore::WebGLRenderingContext::enableVertexAttribArray): (WebCore::WebGLRenderingContext::framebufferRenderbuffer): (WebCore::WebGLRenderingContext::framebufferTexture2D): (WebCore::WebGLRenderingContext::getActiveAttrib): (WebCore::WebGLRenderingContext::getActiveUniform): (WebCore::WebGLRenderingContext::getBufferParameter): (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): (WebCore::WebGLRenderingContext::getParameter): (WebCore::WebGLRenderingContext::getProgramParameter): (WebCore::WebGLRenderingContext::getProgramInfoLog): (WebCore::WebGLRenderingContext::getRenderbufferParameter): (WebCore::WebGLRenderingContext::getShaderParameter): (WebCore::WebGLRenderingContext::getShaderInfoLog): (WebCore::WebGLRenderingContext::getShaderSource): (WebCore::WebGLRenderingContext::getTexParameter): (WebCore::WebGLRenderingContext::getUniform): (WebCore::WebGLRenderingContext::getUniformLocation): (WebCore::WebGLRenderingContext::getVertexAttrib): (WebCore::WebGLRenderingContext::linkProgram): (WebCore::WebGLRenderingContext::shaderSource): (WebCore::WebGLRenderingContext::texImage2D): (WebCore::WebGLRenderingContext::texSubImage2D): (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): (WebCore::WebGLRenderingContext::useProgram): (WebCore::WebGLRenderingContext::validateProgram): (WebCore::WebGLRenderingContext::vertexAttribPointer): * html/canvas/WebGLRenderingContext.h: (WebCore::WebGLRenderingContext::cleanupAfterGraphicsCall): * platform/graphics/GraphicsContext3D.h: * platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::getActiveAttrib): (WebCore::GraphicsContext3D::getActiveUniform): (WebCore::GraphicsContext3D::getError): (WebCore::GraphicsContext3D::synthesizeGLError): 2009-12-10 Stephen White Reviewed by Dimitri Glazkov. Fix for assert on Chrome/skia with SVG Filters enabled. https://bugs.webkit.org/show_bug.cgi?id=32394 Covered by LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b.svg and others. * platform/graphics/skia/ImageBufferSkia.cpp: (WebCore::ImageBuffer::platformTransformColorSpace): 2009-12-10 Enrica Casucci Reviewed by Darin Adler. REGRESSION(4.0.4-42a12): With 2 highlighted lines of text in gmail/hotmail selecting Bold selects other 2 edit buttons automatically. https://bugs.webkit.org/show_bug.cgi?id=32285 When examining the styles of the nodes after the first in a range selection, we take into cosideration differences in style of txt nodes only. Test: editing/execCommand/queryCommandState-02.html * editing/Editor.cpp: (WebCore::Editor::selectionHasStyle): 2009-12-10 Oliver Hunt Reviewed by Alexey Proskuryakov. Crash in XMLTokenizer::popCurrentNode if window.close() is called during parsing https://bugs.webkit.org/show_bug.cgi?id=31576 Add a RefCounted wrapper object around xmlParserCtxtPtr so we can maintain it's lifetime more effectively. Test: fast/parser/xhtml-close-while-parsing.xhtml * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::popCurrentNode): * dom/XMLTokenizer.h: (WebCore::XMLParserContext::context): (WebCore::XMLParserContext::XMLParserContext): (WebCore::XMLTokenizer::context): * dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLParserContext::createStringParser): (WebCore::XMLParserContext::createMemoryParser): (WebCore::XMLParserContext::~XMLParserContext): (WebCore::XMLTokenizer::~XMLTokenizer): (WebCore::XMLTokenizer::doWrite): (WebCore::XMLTokenizer::initializeParserContext): (WebCore::XMLTokenizer::doEnd): (WebCore::XMLTokenizer::lineNumber): (WebCore::XMLTokenizer::columnNumber): (WebCore::XMLTokenizer::stopParsing): (WebCore::parseXMLDocumentFragment): (WebCore::parseAttributes): 2009-12-10 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: debugger shortcuts don't work when Search field or Console drawer has focus. https://bugs.webkit.org/show_bug.cgi?id=32392 * inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.documentKeyDown): (WebInspector.documentKeyUp): (WebInspector.searchKeyDown): 2009-12-10 Dimitri Glazkov Reviewed by Adam Barth. [V8] Events created in isolated worlds may fire in main world. https://bugs.webkit.org/show_bug.cgi?id=32386 Test: http/tests/security/isolatedWorld/events.html * WebCore.gypi: Added WorldContextHandle. * bindings/v8/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Added WorldContextHandle params. * bindings/v8/SharedPersistent.h: Fixed a few style/include issues. * bindings/v8/V8AbstractEventListener.cpp: (WebCore::V8AbstractEventListener::V8AbstractEventListener): Added WorldContextHandle params. (WebCore::V8AbstractEventListener::handleEvent): Adjusted context retrieval to use WorldContextHandle. (WebCore::V8AbstractEventListener::invokeEventHandler): Ditto. * bindings/v8/V8AbstractEventListener.h: (WebCore::V8AbstractEventListener::worldContext): Added WorldContextHandle params. * bindings/v8/V8EventListenerList.h: (WebCore::V8EventListenerList::findOrCreateWrapper): Ditto. * bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListener::V8LazyEventListener): Ditto. (WebCore::V8LazyEventListener::prepareListenerObject): Adjusted context retrieval to use WorldContextHandle. * bindings/v8/V8LazyEventListener.h: (WebCore::V8LazyEventListener::create): Added WorldContextHandle params. * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::context): Refactored to use mainWorldContext(); (WebCore::V8Proxy::mainWorldContext): Added. (WebCore::toV8Context): Changed to use WorldContextHandle. * bindings/v8/V8Proxy.h: Added mainWorldContext decl. * bindings/v8/V8Utilities.cpp: (WebCore::reportException): Added an extra check to avoid crashes during frame teardown. * bindings/v8/V8WorkerContextEventListener.cpp: (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): Added WorldContextHandle params. * bindings/v8/V8WorkerContextEventListener.h: (WebCore::V8WorkerContextEventListener::create): Added WorldContextHandle params. * bindings/v8/WorldContextHandle.cpp: Added. * bindings/v8/WorldContextHandle.h: Added. * bindings/v8/custom/V8CustomEventListener.cpp: (WebCore::V8EventListener::V8EventListener): Added WorldContextHandle params. * bindings/v8/custom/V8CustomEventListener.h: (WebCore::V8EventListener::create): Added WorldContextHandle params. 2009-12-10 Jon Honeycutt Pass more information about a plug-in to the PluginHalterDelegate Reviewed by Adam Roben. * loader/EmptyClients.h: Remove this unused class. * page/HaltablePlugin.h: Add new functions to return the plug-in's name and whether it is windowed. * page/PluginHalter.cpp: (WebCore::PluginHalter::timerFired): Pass new arguments to the client. * page/PluginHalterClient.h: Add new parameters. * plugins/PluginView.cpp: (WebCore::PluginView::pluginName): Return the name from the PluginPackage. * plugins/PluginView.h: (WebCore::PluginView::isWindowed): 2009-12-09 Brian Weinstein Reviewed by Pavel Feldman. Fixes . Web Inspector: Console Scope Bar should be on top of console when Console is a Panel. When the console is set to be shown as a full panel, move the scope bar to the top where it looks best. When it is only shown as a drawer, move it to the bottom, where it originally was. This takes up less space as a drawer, and makes it more discoverable and usable when it is the full panel. * inspector/front-end/ConsolePanel.js: (WebInspector.ConsolePanel.prototype.show): Move filter bar to top. (WebInspector.ConsolePanel.prototype.hide): Move filter bar back to bottom. * inspector/front-end/inspector.css: 2009-12-10 Stephen White Reviewed by Dirk Schulze. Fix for alpha blending in SVG Filters on Chromium/skia. https://bugs.webkit.org/show_bug.cgi?id=32378 Covered by LayoutTests/svg/filters/feGaussianBlur.svg and others. * platform/graphics/skia/ImageBufferSkia.cpp: (WebCore::ImageBuffer::platformTransformColorSpace): 2009-12-10 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Add context menu actions for DOM tree. https://bugs.webkit.org/show_bug.cgi?id=32348 * English.lproj/localizedStrings.js: * inspector/front-end/ContextMenu.js: (WebInspector.ContextMenu): (WebInspector.ContextMenu.prototype.show): (WebInspector.ContextMenu.prototype.appendItem): (WebInspector.ContextMenu.prototype.appendSeparator): (WebInspector.ContextMenu.prototype._itemSelected): (WebInspector.contextMenuItemSelected): (WebInspector.contextMenuCleared): * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeOutline.prototype._onmouseout): (WebInspector.ElementsTreeOutline.prototype.populateContextMenu): (WebInspector.ElementsTreeElement.prototype.ondblclick): (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu): (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu): (WebInspector.ElementsTreeElement.prototype._startEditing): (WebInspector.ElementsTreeElement.prototype._addNewAttribute): * inspector/front-end/ObjectPropertiesSection.js: (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): * inspector/front-end/ResourceView.js: (WebInspector.ResourceView.prototype._toggleURLdecoding): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype): * inspector/front-end/inspector.js: (WebInspector.contextMenuEventFired): * inspector/front-end/treeoutline.js: (TreeElement.treeElementDoubleClicked): 2009-12-09 Nikolas Zimmermann Reviewed by Oliver Hunt. Filters contain some leaks in untested code https://bugs.webkit.org/show_bug.cgi?id=32325 Fix obvious leak in SVGFE*Lighting classes. Implement the create() idiom for all classes in svg/graphics, that were missing it. The lighting filters aren't implemented so far, but the associated FilterEffect objects are build, which created these leaks. This removes the SVG related failures in the leaks bot. * svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::findLights): * svg/SVGFEDiffuseLightingElement.h: * svg/SVGFEDistantLightElement.cpp: (WebCore::SVGFEDistantLightElement::lightSource): * svg/SVGFEDistantLightElement.h: * svg/SVGFELightElement.h: * svg/SVGFEPointLightElement.cpp: (WebCore::SVGFEPointLightElement::lightSource): * svg/SVGFEPointLightElement.h: * svg/SVGFESpecularLightingElement.cpp: (WebCore::SVGFESpecularLightingElement::findLights): * svg/SVGFESpecularLightingElement.h: * svg/SVGFESpotLightElement.cpp: (WebCore::SVGFESpotLightElement::lightSource): * svg/SVGFESpotLightElement.h: * svg/graphics/filters/SVGDistantLightSource.h: (WebCore::DistantLightSource::create): (WebCore::DistantLightSource::DistantLightSource): * svg/graphics/filters/SVGFEDiffuseLighting.cpp: (WebCore::FEDiffuseLighting::FEDiffuseLighting): (WebCore::FEDiffuseLighting::create): (WebCore::FEDiffuseLighting::setLightSource): * svg/graphics/filters/SVGFEDiffuseLighting.h: * svg/graphics/filters/SVGFESpecularLighting.cpp: (WebCore::FESpecularLighting::FESpecularLighting): (WebCore::FESpecularLighting::create): (WebCore::FESpecularLighting::setLightSource): * svg/graphics/filters/SVGFESpecularLighting.h: * svg/graphics/filters/SVGLightSource.h: * svg/graphics/filters/SVGPointLightSource.h: (WebCore::PointLightSource::create): (WebCore::PointLightSource::PointLightSource): * svg/graphics/filters/SVGSpotLightSource.h: (WebCore::SpotLightSource::create): (WebCore::SpotLightSource::SpotLightSource): 2009-12-10 Kenneth Russell Reviewed by Oliver Hunt. [Chromium] SporeViewer demo doesn't work in Chromium https://bugs.webkit.org/show_bug.cgi?id=32364 Test: fast/canvas/webgl/bug-32364.html * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): (WebCore::vertexAttribAndUniformHelperf): (WebCore::uniformHelperi): 2009-12-09 Beth Dakin Reviewed by Oliver Hunt. Fix for https://bugs.webkit.org/show_bug.cgi?id=32346 SVG property -webkit-shadow should apply shadow on the result after compositing -and corresponding- Set a transparency layer when setting a shadow to apply the shadow to the composite. * rendering/SVGRenderSupport.cpp: (WebCore::SVGRenderBase::prepareToRenderSVGContent): (WebCore::SVGRenderBase::finishRenderSVGContent): 2009-12-09 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=32332 WebSocket events should be dispatched synchronously Updated websocket/tests/simple to test for the new behavior. When Web Sockets API says that events should be queued for async dispatch, it means something different. We should keep this in mind when dealing with other HTML5-related specs. The model for HTML5 is that code running in response to network events (e.g. WebSocket or XMLHttpRequest algorithms) runs in a separate thread of execution, and thus needs to post async events as its only way to communicate with client code. As long as network events are queued themselves (as they are in WebKit), there is no need to queue JS events for async dispatch. * websockets/WebSocket.cpp: (WebCore::WebSocket::didConnect): (WebCore::WebSocket::didReceiveMessage): (WebCore::WebSocket::didClose): 2009-12-09 Alexey Proskuryakov Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=32355 Assertion failure when opening a WebSocket connection I couldn't make a reliable test for this. Once the test from bug 32299 is landed, it will provide partial coverage, as I was frequently seeing the assertion failure with it. * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::send): It's not an error if zero is returned from platformSend() - it just means that nothing could be pushed down to the network layer, and all data was queued for later. * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::readStreamCallback): This will no longer happen with SocketStream, but a client can potentially destroy the handle from any callback, so we need to check that this didn't happen. (WebCore::SocketStreamHandle::writeStreamCallback): Ditto. 2009-12-09 Sam Weinig Roll out 51919 and 51920. They were incorrect and unnecessary right now. * platform/mac/WebCoreObjCExtras.mm: (WebCoreObjCScheduleDeallocateOnMainThread): * platform/network/mac/NetworkStateNotifierMac.cpp: (WebCore::NetworkStateNotifier::NetworkStateNotifier): 2009-12-09 Steve Block Reviewed by Darin Fisher. Adds wtf/StdLibExtras.h include for DEFINE_STATIC_LOCAL in V8 ScriptState. https://bugs.webkit.org/show_bug.cgi?id=32330 Build fix only, no new tests. * bindings/v8/ScriptState.cpp: Modified. Adds wtf/StdLibExtras.h include. 2009-12-09 Steve Block Reviewed by Darin Adler. Adds ENABLE(INSPECTOR) guards around script binding methods that use types defined only when INSPECTOR is enabled. https://bugs.webkit.org/show_bug.cgi?id=32328 Build fix only, no new tests. * bindings/js/ScriptValue.cpp: Modified. Added ENABLE(INSPECTOR) guard to ScriptValue::quarantineValue. * bindings/v8/ScriptObject.cpp: Modified. Added ENABLE(INSPECTOR) guard to some overloads of ScriptGlobalObject::set. 2009-12-09 Steve Block Reviewed by Adam Barth. Adds Android Makefiles for building with V8. Also updates existing Android Makefiles with latest additions. https://bugs.webkit.org/show_bug.cgi?id=32278 Build fix only, no new tests. * Android.derived.jscbindings.mk: Modified. * Android.derived.mk: Modified. * Android.derived.v8bindings.mk: Added. * Android.jscbindings.mk: Modified. * Android.mk: Modified. * Android.v8bindings.mk: Added. 2009-12-09 Jonathan Dixon Reviewed by Dimitri Glazkov. Bug 32338 - [Chromium] Fix Chromium builder by including missing GeolocationServiceChromium https://bugs.webkit.org/show_bug.cgi?id=32338 Fix build break: re-include file dropped out by merge in http://trac.webkit.org/changeset/51681/trunk/WebCore/WebCore.gypi * WebCore.gypi: Add missing GeolocationServiceChromium.cpp 2009-12-09 Andreas Kling Reviewed by Brady Eidson. Fixed a typo in http://trac.webkit.org/changeset/51644 that broke the QWebPage autotest. No new test required. * loader/FrameLoader.cpp: (WebCore::FrameLoader::navigateToDifferentDocument): 2009-12-09 Robert Hogan Reviewed by Eric Seidel. Exclude JSSVG*.cpp generated files from --minimal and --no-svg builds. https://bugs.webkit.org/show_bug.cgi?id=32286 * WebCore.pro: 2009-12-09 Philippe Normand Reviewed by Eric Carlson. Ogg mimetypes are incorrect https://bugs.webkit.org/show_bug.cgi?id=27113 The ogg extension is handled by audio/ogg instead of application/ogg. See http://wiki.xiph.org/MIME_Types_and_File_Extensions * platform/MIMETypeRegistry.cpp: (WebCore::TypeExtensionPair::): 2009-12-09 Sam Weinig Reviewed by Anders Carlsson. Use the current run loop instead of the main runloop for the NetworkStateNotifier. * platform/network/mac/NetworkStateNotifierMac.cpp: (WebCore::NetworkStateNotifier::NetworkStateNotifier): 2009-12-09 Sam Weinig Reviewed by Anders Carlsson. Use isMainThread() helper instead of pthread_main_np() != 0. * platform/mac/WebCoreObjCExtras.mm: (WebCoreObjCScheduleDeallocateOnMainThread): 2009-12-09 Sam Weinig Reviewed by Anders Carlsson. Add some #ifdefs to allow us to experiment with a single NSView mac WebKit. * page/Chrome.h: * page/EventHandler.h: * page/mac/ChromeMac.mm: * page/mac/DragControllerMac.mm: (WebCore::DragController::dragOperation): * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::eventLoopHandleMouseDragged): (WebCore::EventHandler::eventActivatedView): (WebCore::EventHandler::passMousePressEventToSubframe): (WebCore::EventHandler::passMouseMoveEventToSubframe): (WebCore::EventHandler::passMouseReleaseEventToSubframe): (WebCore::EventHandler::passWheelEventToWidget): (WebCore::EventHandler::focusDocumentView): (WebCore::EventHandler::passWidgetMouseDownEventToWidget): (WebCore::EventHandler::createDraggingClipboard): (WebCore::isKeyboardOptionTab): (WebCore::EventHandler::invertSenseOfTabsToLinks): (WebCore::EventHandler::tabsToAllControls): (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks): (WebCore::EventHandler::accessKeyModifiers): * platform/ScrollView.cpp: (WebCore::ScrollView::wheelEvent): * platform/Widget.cpp: * platform/Widget.h: * platform/mac/ScrollViewMac.mm: * platform/mac/WidgetMac.mm: (WebCore::Widget::Widget): (WebCore::Widget::~Widget): (WebCore::Widget::show): (WebCore::Widget::hide): (WebCore::Widget::setCursor): (WebCore::Widget::paint): (WebCore::Widget::setFocus): (WebCore::Widget::setIsSelected): (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect): 2009-12-09 Michael Nordman Reviewed by Dimitri Glazkov. Chromium build fix. No new tests. * bindings/v8/DOMData.cpp * bindings/v8/V8DOMWrapper.cpp * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: (WebCore::vertexAttribAndUniformHelperf): (WebCore::uniformHelperi): (WebCore::uniformMatrixHelper): 2009-12-09 Søren Gjesse Reviewed by Pavel Feldman. [V8] Isolated world reuse failure https://bugs.webkit.org/show_bug.cgi?id=32306 Fixed bug introduced in r51407: (http://trac.webkit.org/changeset/51407) which caused layout test LayoutTests/http/tests/security/isolatedWorld/world-reuse.html to fail. * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::setInjectedScriptContextDebugId): (WebCore::V8Proxy::contextDebugId): 2009-12-09 Patrick Scott Fix the build with ENABLE_ORIENTATION_EVENTS https://bugs.webkit.org/show_bug.cgi?id=32321 * page/Frame.cpp: (WebCore::Frame::sendOrientationChangeEvent): 2009-12-09 Avi Drissman Reviewed by Darin Fisher. Chromium tickmarks in scrollbar now UX approved. https://bugs.webkit.org/show_bug.cgi?id=32069 * platform/chromium/ScrollbarThemeChromiumMac.mm: (WebCore::ScrollbarThemeChromiumMac::paint): 2009-12-09 Chris Marrin Reviewed by Adam Roben. Delay load DLLs for accelerated compositing https://bugs.webkit.org/show_bug.cgi?id=31856 Add logic to turn off accelerated compositing if d3d9 or QuartzCore DLLs are not present. This patch also changes the WKCACFLayerRenderer to be a pointer. This allows me to have a create() method which will not create it when accelerated compositing is disabled because of missing DLLs. It avoids having to do so many checks. I also made WebViewWndProc a member function to allow several methods to be made protected, which allows me to avoid doing availability checks there as well. * platform/graphics/win/WKCACFLayer.cpp: * platform/graphics/win/WKCACFLayer.h: * platform/graphics/win/WKCACFLayerRenderer.cpp: * platform/graphics/win/WKCACFLayerRenderer.h: * rendering/RenderLayerBacking.cpp: 2009-12-09 Nate Chapin Reviewed by Darin Adler. Rename dom/ClassNames to SpaceSplitString and update build files. https://bugs.webkit.org/show_bug.cgi?id=32250 * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::matchRules): * dom/ClassNames.cpp: Removed. * dom/ClassNames.h: Removed. * dom/ClassNodeList.h: * dom/NamedMappedAttrMap.h: (WebCore::NamedMappedAttrMap::classNames): * dom/SpaceSplitString.cpp: Copied from WebCore/dom/ClassNames.cpp. (WebCore::SpaceSplitStringData::createVector): (WebCore::SpaceSplitStringData::containsAll): * dom/SpaceSplitString.h: Copied from WebCore/dom/ClassNames.h. (WebCore::SpaceSplitStringData::SpaceSplitStringData): (WebCore::SpaceSplitString::SpaceSplitString): (WebCore::SpaceSplitString::set): (WebCore::SpaceSplitString::containsAll): * dom/StyledElement.h: (WebCore::StyledElement::classNames): * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::setRel): 2009-12-09 Stephen White Reviewed by Darin Fisher. Enable SVG filters in Chromium build. https://bugs.webkit.org/show_bug.cgi?id=32323 Covered by SVG filter layout tests. * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * bindings/scripts/CodeGeneratorV8.pm: * bindings/v8/DerivedSourcesAllInOne.cpp: * bindings/v8/V8DOMWrapper.cpp: * bindings/v8/V8Index.cpp: * bindings/v8/V8Index.h: 2009-12-09 Oliver Hunt Build fix * bindings/js/JSWebGLRenderingContextCustom.cpp: (WebCore::functionForUniform): 2009-12-08 Fumitoshi Ukai Reviewed by Darin Adler. WebSocket allow space (U+0020) in sub protocol name. https://bugs.webkit.org/show_bug.cgi?id=32266 Test: websocket/tests/sub-protocol-with-space.html * websockets/WebSocket.cpp: (WebCore::isValidProtocolString): 2009-12-08 Peterson Trethewey Reviewed by Oliver Hunt. Implement WebGLUniformLocation and change API to use it. https://bugs.webkit.org/show_bug.cgi?id=31173 Test: fast/canvas/webgl/uniform-location.html * DerivedSources.make: * WebCore.gypi: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSWebGLRenderingContextCustom.cpp: (WebCore::JSWebGLRenderingContext::getProgramParameter): (WebCore::JSWebGLRenderingContext::getUniform): (WebCore::functionForUniform): (WebCore::dataFunctionf): (WebCore::dataFunctioni): (WebCore::dataFunctionMatrix): * bindings/scripts/CodeGeneratorV8.pm: * bindings/v8/DerivedSourcesAllInOne.cpp: * bindings/v8/V8Index.cpp: * bindings/v8/V8Index.h: * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: (WebCore::toWebGLUniformLocation): (WebCore::): (WebCore::CALLBACK_FUNC_DECL): (WebCore::isFunctionToCallForAttribute): (WebCore::vertexAttribAndUniformHelperf): (WebCore::uniformHelperi): (WebCore::uniformMatrixHelper): * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::getUniform): (WebCore::WebGLRenderingContext::getUniformLocation): (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): * html/canvas/WebGLRenderingContext.h: * html/canvas/WebGLRenderingContext.idl: * html/canvas/WebGLUniformLocation.cpp: Added. (WebCore::WebGLUniformLocation::create): (WebCore::WebGLUniformLocation::WebGLUniformLocation): * html/canvas/WebGLUniformLocation.h: Added. (WebCore::WebGLUniformLocation::~WebGLUniformLocation): (WebCore::WebGLUniformLocation::program): (WebCore::WebGLUniformLocation::location): * html/canvas/WebGLUniformLocation.idl: Added. 2009-12-08 Adam Langley Reviewed by Darin Adler. Fix assertion failure in WebCore::RenderBlock::startDelayUpdateScrollInfo startDelayUpdateScrollInfo calls a function that can end up calling startDelayUpdateScrollInfo again. However, it's static state is inconsistent when this happens leading to an assertion failure (or probably a memory leak if assertions are off). Thanks to Robert Swiecki for the test case. https://bugs.webkit.org/show_bug.cgi?id=32172 http://code.google.com/p/chromium/issues/detail?id=28880 Test: fast/css/recursive-delay-update-scroll.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::finishDelayUpdateScrollInfo): 2009-12-08 Steve Falkenburg Reviewed by Adam Roben. WebCore source level debugging on Windows not reliable in some cases https://bugs.webkit.org/show_bug.cgi?id=32297 Customized pdb file name/location for WebCore static library. * WebCore.vcproj/WebCoreCommon.vsprops: Add ProgramDataBaseFileName. 2009-12-08 Kevin Watters Reviewed by Kevin Ollivier. [wx] Mac plugins support. https://bugs.webkit.org/show_bug.cgi?id=32236 * platform/FileSystem.h: * platform/cf/BinaryPropertyList.h: * platform/network/curl/ResourceHandleManager.cpp: * platform/wx/FileSystemWx.cpp: (WebCore::fileExists): (WebCore::unloadModule): (WebCore::wxDirTraverserNonRecursive::wxDirTraverserNonRecursive): (WebCore::wxDirTraverserNonRecursive::OnFile): (WebCore::wxDirTraverserNonRecursive::OnDir): (WebCore::listDirectory): * plugins/mac/PluginViewMac.cpp: (WebCore::nativeWindowFor): (WebCore::cgHandleFor): (WebCore::topLevelOffsetFor): (WebCore::PluginView::platformStart): (WebCore::PluginView::setFocus): (WebCore::PluginView::invalidateRect): (WebCore::PluginView::handleKeyboardEvent): (WebCore::PluginView::globalMousePosForPlugin): * plugins/wx/PluginDataWx.cpp: Added. (WebCore::PluginData::initPlugins): (WebCore::PluginData::refresh): * wscript: 2009-12-08 Brady Eidson Reviewed by Darin Adler. Navigating to a cached page can result in accessing a destroyed HTMLInputElement. and https://webkit.org/b/32293 Test: fast/loader/input-element-page-cache-crash.html * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): Make sure to unregister for the activation callback after the new m_autocomplete setting has been stored so the unregistration actually takes place. 2009-12-08 Dmitry Titov Rubber-stamped by David Levin. Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread." It may have caused massive increase of reported leaks on the bots. https://bugs.webkit.org/show_bug.cgi?id=31639 * ForwardingHeaders/wtf/ThreadVerifier.h: Removed. * loader/icon/IconRecord.cpp: (WebCore::IconRecord::IconRecord): * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::SharedBuffer): * platform/text/StringImpl.cpp: (WebCore::StringImpl::StringImpl): 2009-12-08 Pavel Feldman Reviewed by Darin Fisher. Chromium: support custom WebCore context menu items in Chromium port. https://bugs.webkit.org/show_bug.cgi?id=32277 * platform/ContextMenu.h: * platform/ContextMenuItem.h: (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription): * platform/chromium/ContextMenuChromium.cpp: (WebCore::ContextMenu::ContextMenu): (WebCore::ContextMenu::itemCount): (WebCore::ContextMenu::insertItem): (WebCore::ContextMenu::appendItem): (WebCore::ContextMenu::itemWithAction): (WebCore::ContextMenu::itemAtIndex): (WebCore::ContextMenu::platformDescription): * platform/chromium/ContextMenuItemChromium.cpp: (WebCore::ContextMenuItem::ContextMenuItem): (WebCore::ContextMenuItem::releasePlatformDescription): (WebCore::ContextMenuItem::type): (WebCore::ContextMenuItem::action): (WebCore::ContextMenuItem::title): (WebCore::ContextMenuItem::checked): (WebCore::ContextMenuItem::enabled): (WebCore::ContextMenuItem::setType): (WebCore::ContextMenuItem::setAction): (WebCore::ContextMenuItem::setTitle): (WebCore::ContextMenuItem::setChecked): (WebCore::ContextMenuItem::setEnabled): 2009-12-08 Adam Langley Reviewed by Dimitri Glazkov. Chromium Linux: set default scrollbar colours. This is so that layout tests have sane defaults for the scrollbar colours, even if the API user doesn't set any. This is a fix due to r51827. https://bugs.webkit.org/show_bug.cgi?id=32287 This is very well covered by existing layout tests. * rendering/RenderThemeChromiumLinux.cpp: 2009-12-08 Beth Dakin Reviewed by Sam Weinig. Fix for Crash occurs at RenderObject::containingBlock() as I type in the Google Search field (during page load) * editing/Editor.cpp: (WebCore::Editor::insideVisibleArea): ownerRenderer() needs to be null checked. 2009-12-08 Dmitry Titov Reviewed by Darin Adler. Add asserts to RefCounted to make sure ref/deref happens on the right thread. https://bugs.webkit.org/show_bug.cgi?id=31639 * loader/icon/IconRecord.cpp: (WebCore::IconRecord::IconRecord): Disable thread verification for this class because of its cross-thread use in IconDatabase. * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::SharedBuffer): Ditto. * platform/text/StringImpl.cpp: (WebCore::StringImpl::StringImpl): Disable thread verification for this class, add FIXME to enforce proper usage via crossThreadString. * ForwardingHeaders/wtf/ThreadVerifier.h: Added. 2009-12-08 John Gregg Reviewed by Adam Barth. Inform the NotificationCenter when its window goes away in the same manner as other DOMWindow fields, and prevent invalid operations on it after that happens. As part of this, change the V8 bindings for notifications to call through the NotificationCenter rather than doing those operations itself. https://bugs.webkit.org/show_bug.cgi?id=31886 Test: fast/notifications/notification-after-close.html * bindings/v8/custom/V8NotificationCenterCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): * notifications/Notification.cpp: (WebCore::Notification::Notification): * notifications/NotificationCenter.cpp: (WebCore::NotificationCenter::checkPermission): (WebCore::NotificationCenter::requestPermission): * notifications/NotificationCenter.h: (WebCore::NotificationCenter::createHTMLNotification): (WebCore::NotificationCenter::createNotification): (WebCore::NotificationCenter::disconnectFrame): * page/DOMWindow.cpp: (WebCore::DOMWindow::clear): 2009-12-08 Dan Bernstein Reviewed by John Sullivan. Fixed block selection gap repainting in table cells Test: fast/repaint/block-selection-gap-in-table-cell.html This recently-introduced regression exposed the fact that RenderTableCell did not override offsetFromContainer() to adjust for the fact that table cells’ coordinates are relative to the table section, not the table row. With this fixed, RenderTableCell no longer needs to override mapLocalToContainer() and mapAbsoluteToLocalPoint(), since the base class implementations of those use offsetFromContainer(). * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::offsetFromContainer): * rendering/RenderTableCell.h: 2009-12-08 Nikolas Zimmermann Not reviewed. Sane way to force a rebuild on all win slaves, according to Adam Roben. * WebCorePrefix.h: 2009-12-08 Dan Bernstein Build fix * loader/loader.cpp: (WebCore::cachedResourceTypeToTargetType): 2009-12-08 Nikolas Zimmermann Not reviewed. Touch svgtags.in to eventually fix the win debug build. * svg/svgtags.in: 2009-12-08 Mike Belshe Reviewed by Darin Fisher. https://bugs.webkit.org/show_bug.cgi?id=32167 Update the ResourceRequest::RequestType. This previously was specific to Chromium. Moved into ResourceRequestBase, enabling more specificity about the type (which is otherwise only known to the loader), and also making this information available to all platforms. Any platform with a network layer which can utilize this information may want to use it for prioritization. Note to Chromium glue: TargetIsSubResource renamed to TargetIsSubresource. * loader/loader.cpp: (WebCore::Loader::Loader): (WebCore::CachedResourceTypeToTargetType): (WebCore::Loader::Host::servePendingRequests): * platform/network/ResourceRequestBase.h: (WebCore::ResourceRequestBase::): (WebCore::ResourceRequestBase::targetType): (WebCore::ResourceRequestBase::setTargetType): (WebCore::ResourceRequestBase::ResourceRequestBase): * platform/network/chromium/ResourceRequest.h: (WebCore::ResourceRequest::ResourceRequest): 2009-12-08 Steve Block Reviewed by Adam Barth. [Android] Adds Makefiles for Android port. https://bugs.webkit.org/show_bug.cgi?id=31325 Build system change only. No tests possible. * Android.derived.jscbindings.mk: Added. * Android.derived.mk: Added. * Android.jscbindings.mk: Added. * Android.mk: Added. * WebCorePrefix.h: Modified. Sets up some flags and adds a header required for building on Android. 2009-12-08 Christian Dywan Reviewed by Xan Lopez. * platform/network/soup/DNSSoup.cpp: (WebCore::prefetchDNS): Conditionalize prefetching on the libSoup version. 2009-12-08 Nikolas Zimmermann Rubber-stamped by Maciej Stachowiak. Turn on (SVG) Filters for Win. https://bugs.webkit.org/show_bug.cgi?id=32224 * WebCore.vcproj/WebCoreCommon.vsprops: * WebCore.vcproj/build-generated-files.sh: * bindings/scripts/CodeGeneratorCOM.pm: Touch file to assure a world rebuild. Hopefully. 2009-12-08 Carol Szabo Reviewed by Darin Adler. CSS Counter Nesting still does not work according to the spec. https://bugs.webkit.org/show_bug.cgi?id=31723 Test: fast/css/counters/nesting.html * rendering/RenderCounter.cpp: (WebCore::findPlaceForCounter): Replaced the faulty counter insertion algorithm with one that works. 2009-12-08 John Sullivan Add isAutofilled getter to match existing setter. Reviewed by Ada Chan. * bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement _isAutofilled]): Implemented new cover function. * bindings/objc/DOMPrivate.h: Declared new cover function. 2009-12-08 Dominik Röttsches Reviewed by Gustavo Noronha Silva. [Gtk] Create a TextBreakIterator implementation based on GLib (without ICU) https://bugs.webkit.org/show_bug.cgi?id=31469 Added a TextBreakIterator implementation based on GLib and pango, which allows compiling WebCore without ICU. * GNUmakefile.am: * platform/text/gtk/TextBreakIteratorGtk.cpp: Added. (WebCore::): (WebCore::setUpIterator): (WebCore::characterBreakIterator): (WebCore::cursorMovementIterator): (WebCore::wordBreakIterator): (WebCore::lineBreakIterator): (WebCore::sentenceBreakIterator): (WebCore::textBreakFirst): (WebCore::textBreakLast): (WebCore::textBreakNext): (WebCore::textBreakPrevious): (WebCore::textBreakPreceding): (WebCore::textBreakFollowing): (WebCore::textBreakCurrent): (WebCore::isTextBreak): 2009-12-08 Alexander Pavlov Reviewed by Pavel Feldman. Change the way cookies are retrieved in the WebInspector frontend. Moved the cookie filtering from the native code into the frontend so that all cookies can be retrieved regardless of the associated domain (required for certain audits to run.) https://bugs.webkit.org/show_bug.cgi?id=32160 Test: inspector/cookie-resource-match.html * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::getCookies): * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::getCookies): * inspector/InspectorController.h: * inspector/front-end/CookieItemsView.js: (WebInspector.CookieItemsView.prototype.update.callback): (WebInspector.CookieItemsView.prototype.update): (WebInspector.CookieItemsView.prototype._cookiesForDomain): * inspector/front-end/DOMAgent.js: (WebInspector.Cookies.getCookiesAsync): (WebInspector.Cookies.cookieMatchesResourceURL): (WebInspector.Cookies.cookieDomainMatchesResourceDomain): * inspector/front-end/Resource.js: (WebInspector.Resource): (WebInspector.Resource.prototype.get documentURL): (WebInspector.Resource.prototype.set documentURL): * inspector/front-end/inspector.js: (WebInspector.addResource): 2009-12-08 Nikolas Zimmermann Not reviewed. Touch svgtags.in, in order to force SVGNames.* regeneration. Praying for gtk bot to be fixed :-) * svg/svgtags.in: 2009-12-08 Nikolas Zimmermann Not reviewed. Trying to force a rebuild on the Gtk slave. If that doesn't work, someone must force a rebuild from scratch. * bindings/scripts/CodeGeneratorJS.pm: 2009-12-06 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: provide custom context menu in the front-end window. https://bugs.webkit.org/show_bug.cgi?id=32200 * English.lproj/localizedStrings.js: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSInspectorFrontendHostCustom.cpp: (WebCore::JSInspectorFrontendHost::showContextMenu): * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::contextMenuItemSelected): (WebCore::InspectorFrontend::contextMenuCleared): * inspector/InspectorFrontend.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::InspectorFrontendHost): (WebCore::InspectorFrontendHost::~InspectorFrontendHost): (WebCore::InspectorFrontendHost::showContextMenu): (WebCore::InspectorFrontendHost::contextMenuItemSelected): (WebCore::InspectorFrontendHost::contextMenuCleared): * inspector/InspectorFrontendHost.h: (WebCore::InspectorFrontendHost::MenuSelectionHandler::create): (WebCore::InspectorFrontendHost::MenuSelectionHandler::~MenuSelectionHandler): (WebCore::InspectorFrontendHost::MenuSelectionHandler::disconnect): (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuItemSelected): (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuCleared): (WebCore::InspectorFrontendHost::MenuSelectionHandler::MenuSelectionHandler): * inspector/InspectorFrontendHost.idl: * inspector/front-end/ContextMenu.js: Added. * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.html: * inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.documentContextMenu): * page/ContextMenuController.cpp: (WebCore::ContextMenuController::ContextMenuController): (WebCore::ContextMenuController::clearContextMenu): (WebCore::ContextMenuController::handleContextMenuEvent): (WebCore::ContextMenuController::showContextMenu): (WebCore::ContextMenuController::createContextMenu): (WebCore::ContextMenuController::contextMenuItemSelected): * page/ContextMenuController.h: * page/ContextMenuSelectionHandler.h: Added. (WebCore::ContextMenuSelectionHandler::ContextMenuSelectionHandler): (WebCore::ContextMenuSelectionHandler::~ContextMenuSelectionHandler): * platform/ContextMenu.cpp: (WebCore::ContextMenu::checkOrEnableIfNeeded): * platform/ContextMenuItem.h: 2009-12-08 Andras Becsi Rubber-stamped by Kenneth Rohde Christiansen. [Qt] Build fix of duplicated platform/graphics/filters/FEGaussianBlur.cpp in WebCore.pro after enabled svg filters. No new tests needed. * WebCore.pro: 2009-12-07 Shinichiro Hamaji Reviewed by Darin Adler. Add a function to show render tree for debugging https://bugs.webkit.org/show_bug.cgi?id=31288 No new tests because this just adds a function for debugging. * rendering/RenderObject.cpp: (WebCore::RenderObject::showRenderObject): (WebCore::RenderObject::showRenderTreeAndMark): (showRenderTree): * rendering/RenderObject.h: 2009-12-07 Victor Wang Reviewed by Dimitri Glazkov. Implement NamedPropertyEnumerator and IndexedPropertyEnumerator for V8 NPObject. This should make the object enumerable and fix the enumeration issue in layout test plugins/netscape-enumerate.html. Also fix some existing style issues per webkit style guidelines. https://bugs.webkit.org/show_bug.cgi?id=32254 Test: plugins/netscape-enumerate.html * bindings/v8/V8NPObject.cpp: (npObjectInvokeImpl): (npObjectInvokeDefaultHandler): (npObjectGetProperty): (npObjectPropertyEnumerator): (npObjectNamedPropertyEnumerator): (npObjectIndexedPropertyEnumerator): (createV8ObjectForNPObject): 2009-12-07 Fumitoshi Ukai Reviewed by Alexey Proskuryakov. Fragments now make WebSocket URL parsing fail. https://bugs.webkit.org/show_bug.cgi?id=32144 * websockets/WebSocket.cpp: (WebCore::WebSocket::connect): 2009-12-07 Fumitoshi Ukai Reviewed by Darin Adler. Fix wrong length parsing in WebSocket. https://bugs.webkit.org/show_bug.cgi?id=32203 * websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::didReceiveData): 2009-12-07 Nikolas Zimmermann Rubber-stamped by Maciej Stachowiak. Turn on (SVG) Filters for Qt. https://bugs.webkit.org/show_bug.cgi?id=32224 * WebCore.pro: 2009-12-07 Evan Martin Reviewed by Eric Seidel. Chromium: theme scrollbars to match GTK theme. Add functions to RenderThemeChromiumLinux to change the scrollbar color. Since the change is to the Chromium WebKit API layer, testing will be in Chromium's test shell. http://bugs.webkit.org/show_bug.cgi?id=32048 Patch from Markus Gutschke . * platform/chromium/ScrollbarThemeChromiumLinux.cpp: (WebCore::saturateAndBrighten): (WebCore::outlineColor): (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): (WebCore::ScrollbarThemeChromiumLinux::paintThumb): * rendering/RenderThemeChromiumLinux.cpp: (WebCore::RenderThemeChromiumLinux::setScrollbarColors): * rendering/RenderThemeChromiumLinux.h: (WebCore::RenderThemeChromiumLinux::thumbInactiveColor): (WebCore::RenderThemeChromiumLinux::thumbActiveColor): (WebCore::RenderThemeChromiumLinux::trackColor): 2009-12-08 Gustavo Noronha Silva Reviewed by Xan Lopez. [GTK] Doesn't respect Content-Disposition for downloads, and provides no way for apps to do that https://bugs.webkit.org/show_bug.cgi?id=32247 Allow creating a ResourceResponse from a SoupMessage. Covered by API test. * platform/network/soup/ResourceResponse.h: (WebCore::ResourceResponse::ResourceResponse): * platform/network/soup/ResourceResponseSoup.cpp: (WebCore::ResourceResponse::updateFromSoupMessage): 2009-12-07 Nikolas Zimmermann Not reviewed. Reverting problematic patch, causing errors. Revert r51789 (Avoid zero division during SVGPaintServerPattern::setup()). Crashes on all Windows slaves. Reopen bug https://bugs.webkit.org/show_bug.cgi?id=29912. * svg/graphics/SVGPaintServerPattern.cpp: (WebCore::SVGPaintServerPattern::setup): 2009-12-07 Kent Tamura Reviewed by Darin Adler. Add support for HTMLInputElement::stepUp() and stepDown() for type=number and type=range. https://bugs.webkit.org/show_bug.cgi?id=27451 Our implementation of stepUp() and stepDown() rounds the resultant value to conform to the step value. Change the number-string conversion method for RenderSlider to be consistent with type=number. Tests: fast/forms/input-step-number.html fast/forms/input-step-range.html fast/forms/input-step-unsupported.html * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::rangeUnderflow): Unify the code for NUMBER and RANGE. (WebCore::HTMLInputElement::rangeOverflow): Unify the code for NUMBER and RANGE. (WebCore::HTMLInputElement::minimum): Renamed from rangeMinimum(), and support for NUMBER. (WebCore::HTMLInputElement::maximum): Renamed from rangeMaximum(), and support for NUMBER. (WebCore::HTMLInputElement::stepBase): (WebCore::HTMLInputElement::stepMismatch): Use stepBase(). (WebCore::HTMLInputElement::applyStepForNumberOrRange): (WebCore::HTMLInputElement::stepUp): (WebCore::HTMLInputElement::stepDown): (WebCore::HTMLInputElement::formStringFromDouble): * html/HTMLInputElement.h: (WebCore::HTMLInputElement::stepUp): (WebCore::HTMLInputElement::stepDown): * html/HTMLInputElement.idl: Add stepUp() and stepDown(). * rendering/RenderSlider.cpp: (WebCore::SliderRange::SliderRange): Sync with rangeMinimum()/rangeMaximum() renaming. (WebCore::RenderSlider::updateFromElement): Use formStringFromDouble(). (WebCore::RenderSlider::setValueForPosition): Use formStringFromDouble(). 2009-12-07 Albert J. Wong Not reviewed: Chromium build fix try 2 (dumb error). * bindings/v8/ScriptValue.h: (WebCore::ScriptValue::getString): 2009-12-07 Albert J. Wong Not reviewed: Chromium build fix. Fix Chromium build break caused by an added dependency from ScriptControllerBase to JSDOMWindowShell, and an API change in ScriptValue. * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/v8/ScriptValue.h: (WebCore::ScriptValue::getString): 2009-12-07 Enrica Casucci Reviewed by Darin Adler. REGRESSION(4.0.4-42a12): Indent does not work for twice modified with background text in gmail. https://bugs.webkit.org/show_bug.cgi?id=32233 Fixes problem in re-creating the correct hierarchy under the new block. Added extensive testing to cover all the cases. Test: editing/execCommand/indent-with-style2.html * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): 2009-12-07 Dmitry Titov Rubber-stamped by Darin Adler. Remove ENABLE_SHARED_SCRIPT flags https://bugs.webkit.org/show_bug.cgi?id=32245 This patch was obtained by "git revert" command and then un-reverting of ChangeLog files. * Configurations/FeatureDefines.xcconfig: * GNUmakefile.am: * WebCore.pro: 2009-12-07 Nikolas Zimmermann Not reviewed. Force JS binding regeneration, eventually fixing the broken tests on the bots. * bindings/scripts/CodeGeneratorJS.pm: 2009-12-07 Nikolas Zimmermann Not reviewed. Try to fix mac builds by touching svgtags.in - I only tried from-scratch builds. * svg/svgtags.in: 2009-12-07 Gavin Barraclough Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=32184 Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing. Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on. * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::toHTMLCanvasStyle): (WebCore::JSCanvasRenderingContext2D::setFillColor): (WebCore::JSCanvasRenderingContext2D::setStrokeColor): (WebCore::JSCanvasRenderingContext2D::setShadow): * bindings/js/ScriptCallStack.cpp: (WebCore::ScriptCallStack::ScriptCallStack): (WebCore::ScriptCallStack::initialize): * bindings/js/ScriptValue.cpp: (WebCore::ScriptValue::getString): * bindings/js/ScriptValue.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::SerializingTreeWalker::convertIfTerminal): * bindings/objc/WebScriptObject.mm: (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * page/Console.cpp: (WebCore::Console::addMessage): 2009-12-07 Nikolas Zimmermann Reviewed by Holger Hans Peter Freyther. Turn on (SVG) Filters support, by default. https://bugs.webkit.org/show_bug.cgi?id=32224 Only enable filters on mac for now, skipped all affected tests on the other platforms. Will enable them one after another, to minimize breakage. * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag. 2009-12-07 Kent Tamura Reviewed by Darin Adler. Fix a bug that KURL rejects a host name which has an IPv4 address inside an IPv6 form like [::127.0.0.1]. https://bugs.webkit.org/show_bug.cgi?id=29913 * platform/KURL.cpp: (WebCore::characterClassTable): Add IPv6Char to '.'. 2009-12-07 Brady Eidson Reviewed by Sam Weinig. - Closing a window opened with "New windows open with: Same Page" results in crash in ::~HistoryItem The HistoryItem copy constructor has one very specific use case - to support the feature of a WebView copying another WebView's BackForwardList. That constructor wasn't initializing its m_document pointer, leading to this crash in the destructor. * history/HistoryItem.cpp: (WebCore::HistoryItem::~HistoryItem): Change the setDocument(0) to an ASSERT that the document is already 0. A HistoryItem cannot outlive its Document and Documents will always clear the back-pointer in their ::detach() method. (WebCore::HistoryItem::HistoryItem): Missed the m_document initializer in the copy constructor. Also remove an invalid assertion about the original items m_cachedPage object (which is irrelevant to the copy). 2009-12-07 Dmitry Titov Reviewed by Darin Adler. Remove partial SharedScript implementation. https://bugs.webkit.org/show_bug.cgi?id=32237 The patch was obtained by running "git revert" command and then un-reverting WebCore/ChangeLog. * DerivedSources.make: * SharedScript/SharedScriptContext.cpp: Removed. * SharedScript/SharedScriptContext.h: Removed. * SharedScript/SharedScriptContext.idl: Removed. * SharedScript/SharedScriptController.h: Removed. * SharedScript/WebKitSharedScript.cpp: Removed. * SharedScript/WebKitSharedScript.h: Removed. * SharedScript/WebKitSharedScript.idl: Removed. * SharedScript/WebKitSharedScriptRepository.cpp: Removed. * SharedScript/WebKitSharedScriptRepository.h: Removed. * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * dom/Document.cpp: (WebCore::Document::detach): * dom/EventTarget.cpp: * dom/EventTarget.h: * dom/ScriptExecutionContext.h: 2009-12-07 Alexey Proskuryakov Reviewed by Nikolas Zimmermann. https://bugs.webkit.org/show_bug.cgi?id=32226 Random crashes in WebSocket tests on Leopard Debug builbot * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::close): Make sure the object still exists when setting m_state. 2009-12-07 Shiki Okasaka Reviewed by Dirk Schulze. Avoid zero division during SVGPaintServerPattern::setup() https://bugs.webkit.org/show_bug.cgi?id=29912 Fix zero division bugs in SVGPaintServerPattern::setup() that occurred if the tile of a pattern was bigger than the pattern and the pattern size was < 0.5, and if the attribute overflow was set to visible. Test: svg/custom/small-pattern.html * svg/graphics/SVGPaintServerPattern.cpp: (WebCore::SVGPaintServerPattern::setup): 2009-12-07 Kenneth Russell Reviewed by Dimitri Glazkov. [v8] WebCore::WebGLArrayBufferInternal::byteLengthAttrGetter NULL pointer https://bugs.webkit.org/show_bug.cgi?id=31889 Fixed bug in handling of zero-argument constructor call. Test: fast/canvas/webgl/bug-31889.html * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): 2009-12-07 Gyuyoung Kim Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=32024 [GTK] WebKit does not compile without JAVASCRIPT_DEBUGGER Fix build errors when javascript-debugger is disabled on GTK * GNUmakefile.am: 2009-12-07 Dan Bernstein Reviewed by Darin Adler. Fixed Weird selection artifacts Tests: fast/repaint/block-selection-gap-stale-cache-2.html fast/repaint/block-selection-gap-stale-cache.html Instead of caching the block selection gaps’ bounds in the RenderView at setSelection() time, cache them in each RenderLayer at paint time. This prevents the cache from getting stale due to layout changes and overflow scrolling. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::selectionGapRectsForRepaint): Account for overflow scroll. (WebCore::RenderBlock::paintSelection): Update the enclosing layer’s selection gaps bounds. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::addBlockSelectionGapsBounds): Added. Updates the selection gaps bounds to include the given rect. (WebCore::RenderLayer::clearBlockSelectionGapsBounds): Added. Recursively clears the cached selection gaps bounds. (WebCore::RenderLayer::repaintBlockSelectionGaps): Added. Recursively invalidates the selection gaps bounds. * rendering/RenderLayer.h: * rendering/RenderView.cpp: (WebCore::RenderView::setSelection): Clear the layer-level selection gaps bounds instead of the view-level cache. (WebCore::RenderView::clearSelection): Changed to call repaintBlockSelectionGaps(). * rendering/RenderView.h: 2009-12-07 Philippe Normand Reviewed by Gustavo Noronha. Fixed whitelist comment and removed useless (tags, sdp) mimetypes from it. Also, GStreamer doesn't handle directly SMIL. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mimeTypeCache): 2009-12-07 Joanmarie Diggs Reviewed by Xan Lopez. https://bugs.webkit.org/show_bug.cgi?id=25415 [GTK][ATK] Please implement support for get_text_at_offset Eliminate the segfaults which occur when accessing the text interface now implemented by text controls. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (getPangoLayoutForAtk): 2009-12-07 Gustavo Noronha Silva Reviewed by Xan Lopez. Turn the MediaPlayer supported types blacklist into a whitelist [GTK] REGRESSION: webkit thinks it can render PDFs https://bugs.webkit.org/show_bug.cgi?id=32183 Covered by API test. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mimeTypeCache): 2009-12-07 Joanmarie Diggs Reviewed by Xan Lopez. https://bugs.webkit.org/show_bug.cgi?id=25524 [Gtk] Expose the title attribute to assistive technologies Expose 'alt' attribute from images as accessible name. Expose the 'title' core HTML attribute as accessible description. This is a modified version of the original fix submitted by Mario Sanchez Prada, adjusted so that it doesn't impact other platforms. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (webkit_accessible_get_name): (webkit_accessible_get_description): 2009-12-07 Tor Arne Vestbø Reviewed by Simon Hausmann. [Qt] Fix support for generic font families By not propagating the resolved font family in FontCacheQt and only concidering the font description we ended up passing the generic font families to Qt directly. Since most systems don't have a mapping for these font families we ended up using the default font in most cases. * platform/graphics/qt/FontCacheQt.cpp: * platform/graphics/qt/FontPlatformData.h: * platform/graphics/qt/FontPlatformDataQt.cpp: 2009-12-06 Oliver Hunt Reviewed by Maciej Stachowiak. Object.getOwnPropertyDescriptor() allows cross-frame access https://bugs.webkit.org/show_bug.cgi?id=32119 Make all implementations of getOwnPropertyDescriptor that have cross domain restrictions simply fail immediately on cross domain access, rather than trying to mimic the behaviour of normal property access. Test: http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::getOwnPropertyDescriptor): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::getOwnPropertyDescriptorDelegate): * bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::getOwnPropertyDescriptorDelegate): * bindings/scripts/CodeGeneratorJS.pm: 2009-12-07 Steve Block Reviewed by Adam Barth. Moves JSC-specific functions from jni_utility and moves them to new jsc/jni_utility_private files. https://bugs.webkit.org/show_bug.cgi?id=32157 Build fix only, no new tests. * WebCore.xcodeproj/project.pbxproj: Modified. Add jni_utility_private.[cpp|h]. * bridge/jni/jni_instance.cpp: Modified. Include jni_utility_private.h for JSC. * bridge/jni/jni_jsobject.mm: Modified. Include jni_utility_private.h for JSC. * bridge/jni/jni_objc.mm: Modified. Include jni_utility_private.h for JSC. * bridge/jni/jni_runtime.cpp: Modified. Include jni_utility_private.h for JSC. * bridge/jni/jni_utility.cpp: Modified. Removed convertValueToJValue and convertArrayInstanceToJavaArray. * bridge/jni/jni_utility.h: Modified. Removed convertValueToJValue and dispatchJNICall. * bridge/jni/jsc: Added. * bridge/jni/jsc/jni_utility_private.cpp: Added. (JSC::Bindings::convertArrayInstanceToJavaArray): (JSC::Bindings::convertValueToJValue): * bridge/jni/jsc/jni_utility_private.h: Added. Header for convertValueToJValue and dispatchJNICall. * platform/android/TemporaryLinkStubs.cpp: Modified. Include jni_utility_private.h for JSC. 2009-12-06 Oliver Hunt Reviewed by Maciej Stachowiak. texImage2D pixel junk for transparency https://bugs.webkit.org/show_bug.cgi?id=32188 Use kCGBlendModeCopy when drawing an image to the intermediate context used to create a GL texture. No test as we don't currently have any mechanism to retrieve pixel data from the webgl context. * platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::imageToTexture): 2009-12-03 Philippe Normand Reviewed by Gustavo Noronha. Advertize audio/ogg correctly and refactored mime-type cache building. [GTK] Recognize oga as audio/ogg https://bugs.webkit.org/show_bug.cgi?id=31990 Test: media/media-can-play-ogg.html * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mimeTypeCache): 2009-12-05 Alexey Proskuryakov Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=32175 REGRESSION: websocket/tests/url-parsing.html is crashing on Leopard Bot * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::readStreamCallback): Call platformClose() to unschedule both streams, guaranteeing that there will be no callbacks after SocketStreamHandle is destroyed. (WebCore::SocketStreamHandle::writeStreamCallback): Edited a comment a bit. 2009-12-05 Adam Langley Reviewed by Adam Barth. Check that a CSS format() argument is of a valid type. https://bugs.webkit.org/show_bug.cgi?id=31815 http://code.google.com/p/chromium/issues/detail?id=28582 Test: fast/css/url-format-non-string.html * css/CSSParser.cpp: (WebCore::CSSParser::parseFontFaceSrc): 2009-12-04 Adam Langley Reviewed by Eric Seidel. Chromium: make rounded borders heavier. Skia draws its rounded corners differently from the other ports. Whereas they have anti-aliased clipping regions, Skia only has 1-bit regions. (Which is technically more correct, but somewhat unhelpful for us.) Instead, with Skia we use a layer and collect all the clipping paths in effect. When the state is popped, we paint transparency outside the clipping paths and merge the layer down. This appears to cause rounded borders to look a little thin, which is addressed in this patch. This is well covered by existing tests but will require new baselines in the Chromium tree. https://bugs.webkit.org/show_bug.cgi?id=31778 * platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::addInnerRoundedRectClip): 2009-12-04 Simon Fraser Reviewed by Dan Bernstein. Hardware-backed layers are skipped when printing When printing, set the PaintBehaviorFlattenCompositingLayers flag so that compositing layers paint. This also causes 3D transforms to be flattened to 2D. Test: printing/compositing-layer-printing.html * page/FrameView.cpp: (WebCore::FrameView::paintContents): 2009-12-04 Oliver Hunt Reviewed by Beth Dakin. Fix up some issues in my SVGListTraits change from yesterday. * svg/SVGListTraits.h: (WebCore::): 2009-12-04 Albert J. Wong Not reviewed: chromium build fix. Fix Chromium build break caused by moving of isDefaultPortForProtocol() and portAllowed() into KURL.h/KURL.cpp. Cloning code. * platform/KURLGoogle.cpp: (WebCore::isDefaultPortForProtocol): (WebCore::portAllowed): 2009-12-04 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Remove suppress highlight when restoring selected node. https://bugs.webkit.org/show_bug.cgi?id=32152 * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.setDocument.selectNode): (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode): (WebInspector.ElementsPanel.prototype.setDocument): 2009-12-04 Dirk Schulze Reviewed by Nikolas Zimmermann. Gradient SVG animation demonstrates tearing at animation extremes https://bugs.webkit.org/show_bug.cgi?id=11929 The focalPoint of a radial gradient is temporarly substracted by the centralPoint, if the focalPoint is not in the radius of the gradient. This is needed to calculate a new postion of the focalPoint according to the specification. But the new focalPoint needs to be moved by the centralPoint after this calculation, which is not the case at the moment. This patch fixes this issue. It was also introduced a deviation of maximal 0.2% for Cairo to get around the fixed point numbers in Cairo. W3C-SVG-1.1/pservers-grad-13-b needed an update. The missing adjustment of the new focalPoint caused wrong results for the last three tests. Test: svg/custom/radial-gradient-with-outstanding-focalPoint.svg * svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::buildGradient): 2009-12-04 Anton Muhin Reviewed by Dmitry Titov. Do not use WebCore::String::String(const UChar*, int length) to convert short v8 strings. Plus added string traits. https://bugs.webkit.org/show_bug.cgi?id=31415 * bindings/v8/V8Binding.cpp: (WebCore::): (WebCore::v8StringToWebCoreString): 2009-12-04 Chris Fleizach Reviewed by Darin Adler. REGRESSION: AX: buttons now extremely repetitive https://bugs.webkit.org/show_bug.cgi?id=32164 Test: platform/mac/accessibility/button-shouldnot-have-axvalue.html * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::isButton): * accessibility/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 2009-12-04 Zoltan Herczeg Reviewed by Darin Adler. Check whether the right side of a string append is non-empty https://bugs.webkit.org/show_bug.cgi?id=32151 Especially beneficial for CachedScript::script() method which usually appends an empty string returned by flush() to its m_script member. m_script is often hundreds of kbytes which is duplated without reason. * platform/text/String.cpp: (WebCore::String::append): 2009-12-04 Enrica Casucci Reviewed by John Sullivan. Mail.app crashes when indenting table pasted from Numbers.app. https://bugs.webkit.org/show_bug.cgi?id=32166 Test: LayoutTests/editing/execCommand/indent-partial-table.html * editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::indentRegion): Added test to verify that the end of the paragraph after the selection has not been moved. 2009-12-04 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=32085 WebSocket should block the same ports that are blocked for resource loading Test: websocket/tests/url-parsing.html * page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::SecurityOrigin): (WebCore::SecurityOrigin::localURLSchemes): * page/SecurityOrigin.h: Move isDefaultPortForProtocol() to KURL, because that's a better place for it (SecurityOrigin is not even in WebCore/platform directory). * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::host): (WebCore::HTMLAnchorElement::setHost): (WebCore::HTMLAnchorElement::setPort): Updated for the new location of isDefaultPortForProtocol(). * platform/KURL.cpp: (WebCore::KURL::protocolIs): In an assertion, compare to "javascript" case-insensitively, since the function doesn't require lower case input. (WebCore::isDefaultPortForProtocol): Moved from SecurityOrigin. (WebCore::portAllowed): Moved from ResourceHandle. * platform/KURL.h: * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): Updated for the new location of portAllowed(). * websockets/WebSocket.cpp: (WebCore::WebSocket::connect): Per the spec, raise a SECURITY_ERR if trying to connect to a blocked port. 2009-12-04 Benjamin Poulain Reviewed by Kenneth Rohde Christiansen. [Qt] WebKit crashes when loading certain SVG images https://bugs.webkit.org/show_bug.cgi?id=29443 Remove FontFallbackListQt and rely on the common FontFallbackList to handle the fonts. FontCache and FontPlatformData have been updated to work with the common FontFallbackList. In the previous implementation, FontPlatformDataCacheKey was a clone of FontPlatformData with the hashing capabilities added in order to use it as a key in the cache's hashmap. FontPlatformData has been modified to handle the hashing function directly so the data are not copied twice in memory. FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of code from FontCache::getFontData() and FontFallbackList::fontDataAt(). The behavior is similar except currFamily->family().length() was not tested and the fallback fonts selector were not used. Existing tests cover the change. * WebCore.pro: * platform/graphics/qt/FontCacheQt.cpp: (WebCore::FontCache::platformInit): (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::getSimilarFontPlatformData): (WebCore::FontCache::getLastResortFallbackFont): (WebCore::FontCache::getTraitsInFamily): (WebCore::FontCache::createFontPlatformData): * platform/graphics/qt/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData): * platform/graphics/qt/FontFallbackListQt.cpp: Removed. We now use the implementation from FontFallbackList.cpp * platform/graphics/qt/FontPlatformData.h: Add hashing capabilities to be able to use the data with the FontCache. This was previously done in FontCacheQt.cpp (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate): (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::isHashTableDeletedValue): (WebCore::FontPlatformData::font): (WebCore::FontPlatformData::size): (WebCore::FontPlatformData::family): (WebCore::FontPlatformData::bold): (WebCore::FontPlatformData::italic): (WebCore::FontPlatformData::smallCaps): (WebCore::FontPlatformData::pixelSize): * platform/graphics/qt/FontPlatformDataQt.cpp: (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::~FontPlatformData): (WebCore::FontPlatformData::operator=): (WebCore::FontPlatformData::operator==): (WebCore::FontPlatformData::hash): 2009-12-04 Adam Treat Reviewed by Dan Bernstein. Fix wrong assert that was only working through sheer luck. https://bugs.webkit.org/show_bug.cgi?id=32162 * platform/text/BidiContext.cpp: (WebCore::BidiContext::create): 2009-12-04 Tor Arne Vestbø Reviewed by Simon Hausmann. [Qt] Allow removing 'qrc' as a local security origin scheme * page/SecurityOrigin.cpp: 2009-12-04 Zoltan Horvath Reviewed by Eric Seidel. Allow custom memory allocation control for WebCore's CollectionCache https://bugs.webkit.org/show_bug.cgi?id=32109 Inherits the following class from FastAllocBase because it is instantiated by 'new': struct name - instantiated at: WebCore/'location' struct CollectionCache - dom/Document.cpp:4029 * html/CollectionCache.h: 2009-12-04 Steve Block Reviewed by Darin Adler. Fixes a crashing bug in Geolocation when a watch is cleared from some callbacks. https://bugs.webkit.org/show_bug.cgi?id=32111 In Geolocation::GeoNotifier::timerFired, a JS callback may be invoked if a fatal error was registered on this GeoNotifier or if this request has timed out. If the request is a watch, and is cleared by a call to clearWatch in the callback, the GeoNotifier object will be destroyed. We must therefore cache the m_geolocation member to allow us to call Geolocation::fatalErrorOccurred or Geolocation::requestTimedOut. Tests: fast/dom/Geolocation/permission-denied-already-clear-watch.html fast/dom/Geolocation/timeout-clear-watch.html * page/Geolocation.cpp: Modified. (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Cache the m_geolocation member before invoking the JS callback. 2009-12-04 Zoltan Horvath Reviewed by Eric Seidel. Allow custom memory allocation control for 2 classes of the platform directory in WebCore https://bugs.webkit.org/show_bug.cgi?id= Inherits the following class from Noncopyable because it is instantiated by 'new' and no need to be copyable: class/struct name - instantiated at: WebCore/'location' class SharedTimer - (its child class) workers/WorkerRunLoop.cpp:91 Inherits the following class from FastAllocBase because it is instantiated by 'new': class TransformOperations - rendering/style/RenderStyle.h:1175 Noncopyable.h's include added to SharedTimer.h. * platform/SharedTimer.h: * platform/graphics/transforms/TransformOperations.h: 2009-12-04 Xan Lopez Reviewed by Gustavo Noronha. [GTK]Enable DNS prefetching https://bugs.webkit.org/show_bug.cgi?id=23846 Enable DNS prefetching. Based on a patch by José Millán. * platform/network/soup/DNSSoup.cpp: (WebCore::prefetchDNS): 2009-12-04 Zoltan Horvath Reviewed by Eric Seidel. Allow custom memory allocation control for the svg directory in WebCore https://bugs.webkit.org/show_bug.cgi?id= Inherits the following classes from Noncopyable because these are instantiated by 'new' and no need to be copyable: class/struct name - instantiated at: WebCore/'location' struct ResourceSet - svg/graphics/SVGResource.cpp:148 class SVGFontData - css/CSSFontFaceSource.cpp:156 class SVGDocumentExtensions - dom/Document.cpp:3962 class SVGViewSpec - svg/SVGSVGElement.cpp:191 * svg/SVGDocumentExtensions.h: * svg/SVGFontData.h: * svg/SVGViewSpec.h: * svg/graphics/SVGResource.cpp: 2009-12-03 Chris Fleizach Reviewed by Beth Dakin. WAI-ARIA: aria-activedescendant doesn't work as intended https://bugs.webkit.org/show_bug.cgi?id=32100 Fixes a number of issues regarding the "tree" role and aria-activedescendant. 1. The indexes were being reported incorrectly by treeitems. 2. aria-activedescendant changes were not being sent to the containing item. 3. The tree's selected rows need to consult aria-activedescendant. 4. Since a tree changes what it returns as its children (it returns its rows) the mac-specific array indexing methods need to correctly handle the tree case. Tests: platform/mac/accessibility/aria-tree-activedescendant.html platform/mac/accessibility/aria-tree-index-of-items.html * accessibility/AXObjectCache.h: (WebCore::AXObjectCache::): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant): (WebCore::AccessibilityRenderObject::activeDescendant): (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged): (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows): * accessibility/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::postPlatformNotification): * accessibility/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]): (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]): * accessibility/win/AXObjectCacheWin.cpp: (WebCore::AXObjectCache::postPlatformNotification): 2009-12-03 Zoltan Horvath Reviewed by Eric Seidel. Allow custom memory allocation control for the xml directory in WebCore https://bugs.webkit.org/show_bug.cgi?id= Inherits the following class from Noncopyable because it is instantiated by 'new' and no need to be copyable: class/struct name - instantiated at: WebCore/'location' struct XMLHttpRequestStaticData - xml/XMLHttpRequest.cpp:134 Inherits the following classes from FastAllocBase because these are instantiated by 'new': class NodeTest - xml/XPathGrammar.y:258 class NodeSet - xml/XPathValue.cpp:52 struct EvaluationContext - xml/XPathExpressionNode.cpp:40 * xml/XMLHttpRequest.cpp: * xml/XPathExpressionNode.h: * xml/XPathNodeSet.h: * xml/XPathStep.h: 2009-12-03 Drew Wilson Reviewed by Adam Barth. New History changes do not compile for Chromium/V8 https://bugs.webkit.org/show_bug.cgi?id=32148 Existing tests suffice (just trying to get code to compile). * WebCore.gypi: Added V8HistoryCustom.cpp and other missing files. * bindings/v8/custom/V8CustomBinding.h: Added custom handlers for History.pushState()/replaceState(). * bindings/v8/custom/V8HistoryCustom.cpp: Added. Added custom handlers for History.pushState()/replaceState(). * history/BackForwardListChromium.cpp: (WebCore::BackForwardList::pushStateItem): Stubbed out this routine for now - will implement in the future. 2009-12-03 Adam Barth Reviewed by Eric Seidel. OwnPtr Document::m_bindingManager; https://bugs.webkit.org/show_bug.cgi?id=32147 The document actually owns the bindingManager. That's what the code should say. * dom/Document.cpp: (WebCore::Document::~Document): * dom/Document.h: (WebCore::Document::bindingManager): 2009-12-03 Adam Barth Reviewed by Eric Seidel. OwnPtr Document::m_tokenizer; https://bugs.webkit.org/show_bug.cgi?id=32145 The document actually owns the tokenizer. That's what the code should say. * dom/Document.cpp: (WebCore::Document::removedLastRef): (WebCore::Document::~Document): (WebCore::Document::cancelParsing): (WebCore::Document::implicitOpen): (WebCore::Document::implicitClose): * dom/Document.h: (WebCore::Document::tokenizer): 2009-12-03 Adam Barth Reviewed by Eric Seidel. OwnPtr Document::m_renderArena; https://bugs.webkit.org/show_bug.cgi?id=32146 The document owns the renderArena. That's what the code should say. * dom/Document.cpp: (WebCore::Document::Document): Also, removed a redundant initialization of the tokenizer that I missed in my previous patch. (WebCore::Document::~Document): (WebCore::Document::attach): (WebCore::Document::detach): * dom/Document.h: (WebCore::Document::renderArena): 2009-12-03 Drew Wilson Rolling back r51633 because it causes a chromium perf regression. * platform/graphics/SimpleFontData.h: * platform/graphics/mac/ComplexTextControllerCoreText.cpp: 2009-12-03 Adam Barth Reviewed by Eric Seidel. The code should say that Document owns DocLoader https://bugs.webkit.org/show_bug.cgi?id=32143 It's the truth. * dom/Document.cpp: (WebCore::Document::~Document): * dom/Document.h: (WebCore::Document::docLoader): 2009-12-03 Chris Fleizach Reviewed by Eric Seidel. AX: VO just says "term" on many web sites https://bugs.webkit.org/show_bug.cgi?id=32139 Test: platform/mac/accessibility/definition-list-term.html * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::accessibilityDescription): * accessibility/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper subrole]): (-[AccessibilityObjectWrapper roleDescription]): 2009-12-03 Chris Fleizach Reviewed by Beth Dakin. Implement WAI-ARIA scrollbar role and related property aria-orientation https://bugs.webkit.org/show_bug.cgi?id=32126 Test: accessibility/aria-scrollbar-role.html * accessibility/AccessibilityObject.cpp: (WebCore::createARIARoleMap): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::isScrollbar): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::valueForRange): (WebCore::AccessibilityRenderObject::orientation): (WebCore::AccessibilityRenderObject::canHaveChildren): * accessibility/AccessibilityRenderObject.h: * accessibility/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): * html/HTMLAttributeNames.in: 2009-12-03 Dan Bernstein Reviewed by Darin Adler. Fixed Selection painting issue in hardware- accelerated layers which is another part of https://bugs.webkit.org/show_bug.cgi?id=23628 Fix selection painting to do container-relative repaints Test: fast/repaint/block-selection-gap-in-composited-layer.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::selectionGapRectsForRepaint): Compute and paint gap rects in the coordinate space of the repaint container. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): Added a FIXME. * rendering/RenderView.cpp: (WebCore::RenderView::setSelection): Map block selection gap rects from the repaint container’s coordinate space to the view’s coordinate space before adding them to the cached selection bounds. (WebCore::RenderView::clearSelection): Changed to use repaintRectangleInViewAndCompositedLayers() so that the selection rect is invalidated in composited layers as well. 2009-12-03 Jonathan Dixon Reviewed by Dimitri Glazkov. Bug 32066 - Add enable geolocation flag to WebCore::Settings for Chromium https://bugs.webkit.org/show_bug.cgi?id=32066 Adds geolocationEnabled in Settings for runtime control of geolocaiton features. This defaults to ON as it is intended as a development and testing aid, not a user control. To completely remove geolocation from a given port, the compile time ENABLE_GEOLOCATION should still be used. Adding placeholder GeolocationServiceChromium implementation, as this is required to allows ENABLE_GEOLOCATION to be defined (in turn required for testing), even though this patch does not make that the default just yet. * WebCore.gypi: * page/Settings.cpp: (WebCore::Settings::Settings): Add new m_geolocationEnabled flag default value (WebCore::Settings::setGeolocationEnabled): Setter for m_geolocationEnabled flag * page/Settings.h: (WebCore::Settings::geolocationEnabled): Add m_geolocationEnabled flag * platform/chromium/GeolocationServiceChromium.cpp: Added. (WebCore::GeolocationServiceChromium::GeolocationServiceChromium): Place holder GeolocationServiceChromium) (WebCore::createGeolocationService): factory function, only required when ENABLED(GEOLOCATION) is true 2009-12-03 Enrica Casucci Reviewed by John Sullivan. SpinTracer: 349 spins in Mail at WebCore::Editor::advanceToNextMisspelling(bool) https://bugs.webkit.org/show_bug.cgi?id=32129 Fixed the way the next paragraph is calculated. I've added a repro case in Safari and attached it to the Bugzilla bug. * editing/Editor.cpp: (WebCore::findFirstMisspellingOrBadGrammarInRange): Changed the way we move to the next paragraph in the loop. 2009-12-03 Oliver Hunt Build fix * svg/SVGListTraits.h: (WebCore::): 2009-12-03 Oliver Hunt Build fix * svg/SVGListTraits.h: (WebCore::): 2009-12-03 Brady Eidson No wonder editing WebCore.exp repeatedly while I worked on this patch never seemed to stick. Long live our auto-generated overlords that I didn't know about... * WebCore.base.exp: 2009-12-03 Oliver Hunt Reviewed by Dan Bernstein. REGRESSION (r51627): 3 SVG tests are failing https://bugs.webkit.org/show_bug.cgi?id=32117 Null checking Items in the SVGList is insufficient as items may be floats, etc so add SVGListTraits::isNull and add appropriate specializations. Test: svg/dom/svglist-exception-on-out-bounds-error.html * svg/SVGList.h: (WebCore::SVGListTypeOperations::isNull): (WebCore::SVGList::initialize): (WebCore::SVGList::insertItemBefore): (WebCore::SVGList::replaceItem): (WebCore::SVGList::appendItem): * svg/SVGListTraits.h: (WebCore::): 2009-12-03 Brady Eidson No review - release build fix. * history/HistoryItem.cpp: (WebCore::HistoryItem::documentDetached): 2009-12-03 Brady Eidson No review - release build fix. * loader/HistoryController.cpp: (WebCore::HistoryController::pushState): 2009-12-03 Enrica Casucci Reviewed by Adele Peterson. Multiple Undos removes the last posted comment and/or the ones before it. https://bugs.webkit.org/show_bug.cgi?id=32079 The fix consists in preventing Undos and Redos to be applied to elements that are no longer editable. We do not attempt to remove the commands from the queue. It is a relatively simple fix that comes with a little extra overhead for the apply and unapply methods where we are now performing the editability check. Test: editing/undo/undo-indent-noneditable.html * editing/AppendNodeCommand.cpp: (WebCore::AppendNodeCommand::doApply): (WebCore::AppendNodeCommand::doUnapply): * editing/DeleteFromTextNodeCommand.cpp: (WebCore::DeleteFromTextNodeCommand::doApply): (WebCore::DeleteFromTextNodeCommand::doUnapply): * editing/InsertIntoTextNodeCommand.cpp: (WebCore::InsertIntoTextNodeCommand::doApply): (WebCore::InsertIntoTextNodeCommand::doUnapply): * editing/InsertNodeBeforeCommand.cpp: (WebCore::InsertNodeBeforeCommand::doApply): (WebCore::InsertNodeBeforeCommand::doUnapply): * editing/JoinTextNodesCommand.cpp: (WebCore::JoinTextNodesCommand::doApply): (WebCore::JoinTextNodesCommand::doUnapply): * editing/MergeIdenticalElementsCommand.cpp: (WebCore::MergeIdenticalElementsCommand::doApply): (WebCore::MergeIdenticalElementsCommand::doUnapply): * editing/RemoveNodeCommand.cpp: (WebCore::RemoveNodeCommand::doApply): (WebCore::RemoveNodeCommand::doUnapply): * editing/SplitElementCommand.cpp: (WebCore::SplitElementCommand::executeApply): (WebCore::SplitElementCommand::doUnapply): * editing/SplitTextNodeCommand.cpp: (WebCore::SplitTextNodeCommand::doApply): (WebCore::SplitTextNodeCommand::doUnapply): * editing/WrapContentsInDummySpanCommand.cpp: (WebCore::WrapContentsInDummySpanCommand::doUnapply): (WebCore::WrapContentsInDummySpanCommand::doReapply): 2009-12-03 Brady Eidson Reviewed by Sam Weinig. and http://webkit.org/b/32052 - Implement HTML5 state object history API Tests: fast/loader/stateobjects/document-destroyed-navigate-back.html fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html fast/loader/stateobjects/popstate-after-load-complete-addeventlistener.html fast/loader/stateobjects/popstate-after-load-complete-body-attribute.html fast/loader/stateobjects/popstate-after-load-complete-window-attribute.html fast/loader/stateobjects/pushstate-object-types.html fast/loader/stateobjects/pushstate-then-replacestate.html fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange.html fast/loader/stateobjects/replacestate-then-pushstate.html http/tests/loading/state-object-security-exception.html Derived sources and project file changes: * DerivedSources.cpp: * DerivedSources.make: * GNUmakefile.am * WebCore.pro * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: Add the new PopStateEvent: * dom/PopStateEvent.cpp: Added. (WebCore::PopStateEvent::PopStateEvent): (WebCore::PopStateEvent::initPopStateEvent): * dom/PopStateEvent.h: Added. (WebCore::PopStateEvent::create): (WebCore::PopStateEvent::isPopStateEvent): (WebCore::PopStateEvent::state): * dom/PopStateEvent.idl: Added. * bindings/js/JSPopStateEventCustom.cpp: Added. (WebCore::JSPopStateEvent::initPopStateEvent): (WebCore::JSPopStateEvent::state): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * dom/Event.cpp: (WebCore::Event::isPopStateEvent): * dom/Event.h: * dom/EventNames.h: Add the "onpopstate" attribute: * html/HTMLAttributeNames.in: * html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::parseMappedAttribute): * html/HTMLBodyElement.idl: * html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::parseMappedAttribute): * html/HTMLFrameSetElement.h: * html/HTMLFrameSetElement.idl: * page/DOMWindow.h: * page/DOMWindow.idl: Add pushState and replaceState management to the loader and history machinery: * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::pushState): (WebCore::JSHistory::replaceState): * loader/HistoryController.cpp: (WebCore::HistoryController::updateForSameDocumentNavigation): Augmented from "scrollToAnchor()", combining both the same-document fragment scroll case with the new same-document state object activation case. (WebCore::HistoryController::pushState): (WebCore::HistoryController::replaceState): * loader/HistoryController.h: * history/BackForwardList.cpp: (WebCore::BackForwardList::addItem): Use insertItemAfterCurrent. (WebCore::BackForwardList::insertItemAfterCurrent): Optionally insert the item without clearing the forward list, as pushStateItem might've selectively cleared only certain items, with the bulk of the forward list meant to remain. (WebCore::BackForwardList::pushStateItem): Clear the forward list *only* for the state item's document, then insert the new item. (WebCore::BackForwardList::removeItem): * history/BackForwardList.h: * page/History.cpp: (WebCore::History::urlForState): (WebCore::History::stateObjectAdded): * page/History.h: * page/History.idl: Let HistoryItems and Documents associate with each other, as well as letting HistoryItems contain state objects: * history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem): (WebCore::HistoryItem::~HistoryItem): (WebCore::HistoryItem::setStateObject): (WebCore::HistoryItem::setDocument): (WebCore::HistoryItem::documentDetached): * history/HistoryItem.h: (WebCore::HistoryItem::stateObject): (WebCore::HistoryItem::document): * dom/Document.cpp: (WebCore::Document::detach): Notify all back/forward history items owned by this Document that it is going away. (WebCore::Document::registerHistoryItem): Manage the list of back/forward history items this document owns. (WebCore::Document::unregisterHistoryItem): Ditto. * dom/Document.h: Add the ability for Documents, DocumentLoaders, and FrameLoaderClients to be notified when a Documents URL changes as the result of pushState(), replaceState(), or a popstate navigation: * dom/Document.cpp: (WebCore::Document::implicitClose): If there's a pending state object, dispatch the popstate event. (WebCore::Document::updateURLForPushOrReplaceState): (WebCore::Document::statePopped): If loading is complete, dispatch the popstate event. Otherwise, set the pending state object. * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::replaceRequestURLForSameDocumentNavigation): * loader/DocumentLoader.h: * loader/FrameLoaderClient.h: * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::dispatchDidChangeStateObjectForPageForFrame): Change handling of "loading a HistoryItem" to distinguish between new-Document navigations and same-Document navigations, combining the old concept of anchor scrolls with the new concept of state object navigations: * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): (WebCore::FrameLoader::navigateWithinDocument): (WebCore::FrameLoader::navigateToDifferentDocument): (WebCore::FrameLoader::loadItem): * loader/FrameLoader.h: * page/Page.cpp: (WebCore::Page::goToItem): Changed to allow state object activations to pass through without the load stopping. 2009-12-03 Pavel Feldman Not reviewed: chromium build fix. r51621 changed JS bindings only, broke v8's. * bindings/v8/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::appendArgument): * bindings/v8/ScriptFunctionCall.h: 2009-12-03 Dimitri Glazkov Reviewed by Adam Barth. [V8] Attributes and NamedNodeMaps aren't tracked correctly and may be prematurely garbage-collected. https://bugs.webkit.org/show_bug.cgi?id=32094 Covered by existing test: LayoutTests/fast/dom/Attr/access-after-element-destruction.html * bindings/v8/DOMObjectsInclude.h: * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::getTemplate): (WebCore::V8DOMWrapper::convertToV8Object): (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object): * bindings/v8/V8DOMWrapper.h: * bindings/v8/V8GCController.cpp: (WebCore::ObjectGrouperVisitor::visitDOMWrapper): * bindings/v8/custom/V8CustomBinding.h: 2009-12-03 Pavel Feldman Reviewed by Timothy Hatcher. Chromium: Add support for settings containing ":" https://bugs.webkit.org/show_bug.cgi?id=32118 * inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection): 2009-12-03 Rafael Antognolli , Kenneth Christiansen Reviewed by Simon Fraser. repaint events from outside the viewport aren't received https://bugs.webkit.org/show_bug.cgi?id=32081 When using a tiled backing store for painting, you need to receive event from outside the viewport. Setting the viewport to the size of the contents is not an option if you want to make use of WebCore's infrastructure for drawing scrollbars etc. A new property, paintsEntireContents, has been introduced for the above use-case. It is settable, as tiling will be optional for Qt, and for the not yet upstreamed EFL port, there will be two different views, where only one of them are tiled. No change in behavior, so no new tests added. * page/FrameView.cpp: (WebCore::FrameView::repaintContentRectangle): * platform/ScrollView.cpp: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::setPaintsEntireContents): (WebCore::ScrollView::wheelEvent): * platform/ScrollView.h: (WebCore::ScrollView::paintsEntireContents): 2009-11-23 Jeremy Moskovich Reviewed by Eric Seidel. Switch Chrome/Mac to use Core Text APIs rather than ATSUI APIs. https://bugs.webkit.org/show_bug.cgi?id=31802 No test since this is already covered by existing pixel tests. * platform/graphics/SimpleFontData.h: Change #ifdef to define getNSFont() on Chrome/Mac . * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Provide forward declarations of Core Text functions that are public on 10.6 but SPI on 10.5. 2009-12-03 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Simplify the settings support in inspector controller. https://bugs.webkit.org/show_bug.cgi?id=32076 Test: inspector/settings-set-get.html * WebCore.Inspector.exp: * bindings/js/JSInspectorFrontendHostCustom.cpp: * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: * inspector/InspectorClient.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::~InspectorController): (WebCore::InspectorController::setting): (WebCore::InspectorController::setSetting): (WebCore::InspectorController::setWindowVisible): (WebCore::InspectorController::attachWindow): (WebCore::InspectorController::setAttachedWindowHeight): (WebCore::InspectorController::storeLastActivePanel): (WebCore::InspectorController::scriptObjectReady): (WebCore::InspectorController::showWindow): (WebCore::InspectorController::enableResourceTracking): (WebCore::InspectorController::disableResourceTracking): (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded): (WebCore::InspectorController::enableProfiler): (WebCore::InspectorController::disableProfiler): (WebCore::InspectorController::enableDebuggerFromFrontend): (WebCore::InspectorController::disableDebugger): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::setting): (WebCore::InspectorFrontendHost::setSetting): * inspector/InspectorFrontendHost.h: * inspector/InspectorFrontendHost.idl: * loader/EmptyClients.h: (WebCore::EmptyInspectorClient::populateSetting): (WebCore::EmptyInspectorClient::storeSetting): 2009-12-03 Ben Murdoch Reviewed by Brady Eidson. [Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed. https://bugs.webkit.org/show_bug.cgi?id=31915 No change in functionality so no new tests required. * history/HistoryItem.cpp: (WebCore::defaultNotifyHistoryItemChanged): Update this function to pass the HistoryItem that is being changed. (WebCore::HistoryItem::setAlternateTitle): Update call to notifyHistoryItemChanged to include the new parameter. (WebCore::HistoryItem::setURLString): ditto. (WebCore::HistoryItem::setOriginalURLString): ditto. (WebCore::HistoryItem::setReferrer): ditto. (WebCore::HistoryItem::setTitle): ditto. (WebCore::HistoryItem::setTarget): ditto. (WebCore::HistoryItem::setDocumentState): On Android, add a call to notifyHistoryItemChanged. See bug for a discussion of why this is needed. (WebCore::HistoryItem::clearDocumentState): ditto. (WebCore::HistoryItem::setIsTargetItem): ditto. (WebCore::HistoryItem::addChildItem): ditto. (WebCore::HistoryItem::setFormInfoFromRequest): ditto. * history/HistoryItem.h: Update signature of notifyHistoryItemChanged. 2009-12-03 Ben Murdoch Reviewed by Brady Eidson. [Android] The FrameLoaderClient is unaware of BackForwardList changes. https://bugs.webkit.org/show_bug.cgi?id=31914 This change adds three new methods on the FrameLoaderClient interface to receive notifications when the BackForwardList changes. No new tests required. Functionality on all platforms upstream remains the same. Android is the first platform to make use of these callbacks. * history/BackForwardList.cpp: (WebCore::BackForwardList::addItem): Execute the callback. (WebCore::BackForwardList::goBack): ditto. (WebCore::BackForwardList::goForward): ditto. (WebCore::BackForwardList::goToItem): ditto. (WebCore::BackForwardList::setCapacity): dito. * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation for the callback that does nothing. (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto. (WebCore::EmptyFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto. * loader/FrameLoaderClient.h: 2009-12-03 Ben Murdoch Reviewed by Brady Eidson. [Android] Upstream WebCore/history/android: Require some platform specific state attached to HistoryItem. https://bugs.webkit.org/show_bug.cgi?id=31913 Android stores information such as the zoom scale factor and bridge back to the Java counterpart with HistoryItem. No new tests required as this is Android specific code. * history/HistoryItem.h: Add Android specific member data to HistoryItem. * history/android: Added. * history/android/AndroidWebHistoryBridge.h: Added. * history/android/HistoryItemAndroid.cpp: Added, provides implementation for Android specific member functions in HistoryItem. (WebCore::HistoryItem::bridge): Added. (WebCore::HistoryItem::setBridge): Added. 2009-12-03 Oliver Hunt Reviewed by Maciej Stachowiak. NULL ptr in SVGPathSegList::getPathSegAtLength() https://bugs.webkit.org/show_bug.cgi?id=30313 Add exception checks to SVGPathSegList's implementation to catch (and propagate) exceptions. Add null checks to SVGList's content manipulation functions to prevent null values from entering the list in the first place. Test: svg/dom/svgpath-out-of-bounds-getPathSeg.html * svg/SVGList.h: (WebCore::SVGList::initialize): (WebCore::SVGList::insertItemBefore): (WebCore::SVGList::replaceItem): (WebCore::SVGList::appendItem): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::getPathSegAtLength): * svg/SVGPathElement.h: * svg/SVGPathElement.idl: * svg/SVGPathSegList.cpp: (WebCore::SVGPathSegList::getPathSegAtLength): (WebCore::SVGPathSegList::toPathData): (WebCore::SVGPathSegList::createAnimated): * svg/SVGPathSegList.h: 2009-12-02 Yusuke Sato Reviewed by Eric Seidel. Sanitize web fonts using the OTS library https://bugs.webkit.org/show_bug.cgi?id=31106 Add support for OpenType sanitizer (OTS). It parses OpenType files (from @font-face) and attempts to validate and sanitize them. We hope this reduces the attack surface of the system font libraries. * WebCore.gyp/WebCore.gyp: Added dependency to (chromium_src_dir)/third_party/ots/ library. * WebCore.gypi: Added new files below. * WebCore.xcodeproj/project.pbxproj: Ditto. * platform/graphics/chromium/FontCustomPlatformData.cpp: Validate and transcode a web font. (WebCore::createFontCustomPlatformData): * platform/graphics/mac/FontCustomPlatformData.cpp: Ditto. (WebCore::createFontCustomPlatformData): * platform/graphics/opentype/OpenTypeSanitizer.cpp: Added. (WebCore::OpenTypeSanitizer::sanitize): * platform/graphics/opentype/OpenTypeSanitizer.h: Added. (WebCore::OpenTypeSanitizer::OpenTypeSanitizer): 2009-12-02 Oliver Hunt Reviewed by Sam Weinig. Web Inspector frontend heap allocates ScriptFunctionCall which is unsafe https://bugs.webkit.org/show_bug.cgi?id=32098 Fix is simply to make the ScriptFunctionCall stack allocated as nature intended. Doing this required adding an appendArgument(char*) to ScriptFunctionCall so that an explicit String cast would not be necessary. To prevent something like this happening again in future i've added private operator new implementations to ScriptFunctionCall making this type of mistake produce errors when compiling. Test case: Inspector tests now pass with GC on every alloc enabled. * bindings/js/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::appendArgument): * bindings/js/ScriptFunctionCall.h: (WebCore::ScriptFunctionCall::operator new): (WebCore::ScriptFunctionCall::operator new[]): * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addConsoleMessage): (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount): (WebCore::InspectorFrontend::addResource): (WebCore::InspectorFrontend::updateResource): (WebCore::InspectorFrontend::removeResource): (WebCore::InspectorFrontend::updateFocusedNode): (WebCore::InspectorFrontend::setAttachedWindow): (WebCore::InspectorFrontend::addRecordToTimeline): (WebCore::InspectorFrontend::parsedScriptSource): (WebCore::InspectorFrontend::failedToParseScriptSource): (WebCore::InspectorFrontend::addProfileHeader): (WebCore::InspectorFrontend::setRecordingProfile): (WebCore::InspectorFrontend::didGetProfileHeaders): (WebCore::InspectorFrontend::didGetProfile): (WebCore::InspectorFrontend::pausedScript): (WebCore::InspectorFrontend::setDocument): (WebCore::InspectorFrontend::setDetachedRoot): (WebCore::InspectorFrontend::setChildNodes): (WebCore::InspectorFrontend::childNodeCountUpdated): (WebCore::InspectorFrontend::childNodeInserted): (WebCore::InspectorFrontend::childNodeRemoved): (WebCore::InspectorFrontend::attributesUpdated): (WebCore::InspectorFrontend::didRemoveNode): (WebCore::InspectorFrontend::didGetChildNodes): (WebCore::InspectorFrontend::didApplyDomChange): (WebCore::InspectorFrontend::didGetEventListenersForNode): (WebCore::InspectorFrontend::didGetCookies): (WebCore::InspectorFrontend::didDispatchOnInjectedScript): (WebCore::InspectorFrontend::addDatabase): (WebCore::InspectorFrontend::selectDatabase): (WebCore::InspectorFrontend::didGetDatabaseTableNames): (WebCore::InspectorFrontend::addDOMStorage): (WebCore::InspectorFrontend::selectDOMStorage): (WebCore::InspectorFrontend::didGetDOMStorageEntries): (WebCore::InspectorFrontend::didSetDOMStorageItem): (WebCore::InspectorFrontend::didRemoveDOMStorageItem): (WebCore::InspectorFrontend::updateDOMStorage): (WebCore::InspectorFrontend::addNodesToSearchResult): (WebCore::InspectorFrontend::evaluateForTestInFrontend): * inspector/InspectorFrontend.h: 2009-12-02 Dave Hyatt Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=32072, clean up invalid @-rule error handling so that we pass more CSS test suite stuff. Make the grammar stop enforcing the ordering of @namespace vs. @variables vs. @import. Just let the parser handle that instead. This simplifies the grammar and makes error handling deal with more cases correctly. Added fast/css/namespaces/namespaces-invalid-at-rules.xml * css/CSSGrammar.y: * css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::parseRule): (WebCore::CSSParser::createCharsetRule): (WebCore::CSSParser::createImportRule): (WebCore::CSSParser::createMediaRule): (WebCore::CSSParser::createKeyframesRule): (WebCore::CSSParser::createStyleRule): (WebCore::CSSParser::createFontFaceRule): (WebCore::CSSParser::addNamespace): (WebCore::CSSParser::createVariablesRule): * css/CSSParser.h: 2009-12-02 Yusuke Sato Reviewed by Dan Bernstein. Safari/Chromium for Windows fails to load CJK WebFonts https://bugs.webkit.org/show_bug.cgi?id=31804 * platform/graphics/opentype/OpenTypeUtilities.cpp: (WebCore::renameAndActivateFont): Load a remote font even if the font has 2 or more faces. 2009-12-02 Avi Drissman Reviewed by Darin Fisher. Chromium: Need tickmarks in scrollbar https://bugs.webkit.org/show_bug.cgi?id=32069 * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * platform/chromium/ScrollbarThemeChromiumMac.h: Added. * platform/chromium/ScrollbarThemeChromiumMac.mm: Added. 2009-11-13 Timothy Hatcher Expose a function to set the value of an input element on behalf of the user. This function will dispatch the change event so the page is notified when autofill happens. Also dispatch a change event when a select element is changed by autofill. Would like a way to detect a login form AutoFill from JavaScript Reviewed by Darin Adler. * WebCore.xcodeproj/project.pbxproj: Added the DOMHTMLInputElementPrivate.h header. * bindings/objc/DOMHTML.mm: (-[DOMHTMLSelectElement _activateItemAtIndex:]): Call setSelectedIndexByUser instead so a change event is fired. This method is called by Safari autofill. * dom/Document.cpp: (WebCore::Document::setFocusedNode): Use dispatchFormControlChangeEvent instead of dispatching the change event directly to be consistent. * html/HTMLFormControlElement.cpp: (WebCore::HTMLInputElement::setValueForUser): Added. Calls setValue with the sendChangeEvent (WebCore::HTMLInputElement::setValue): Added the optional sendChangeEvent argument. Mimics setChecked. * html/HTMLInputElement.h: * html/HTMLInputElement.idl: Added setValueForUser for non-JS languages. * html/InputElement.h: Added setValueForUser. 2009-12-02 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: DOM tree selection disappears upon page refresh. https://bugs.webkit.org/show_bug.cgi?id=31142 Test: inspector/elements-panel-selection-on-refresh.html * inspector/InjectedScriptHost.cpp: (WebCore::InjectedScriptHost::pushNodeByPathToFrontend): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptHost.idl: * inspector/InspectorBackend.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::close): (WebCore::InspectorController::releaseDOMAgent): (WebCore::InspectorController::resetScriptObjects): * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::~InspectorDOMAgent): (WebCore::InspectorDOMAgent::reset): (WebCore::InspectorDOMAgent::setDocument): (WebCore::InspectorDOMAgent::pushDocumentToFrontend): (WebCore::InspectorDOMAgent::nodeForPath): (WebCore::InspectorDOMAgent::pushNodePathToFrontend): * inspector/InspectorDOMAgent.h: * inspector/front-end/DOMAgent.js: (WebInspector.DOMNode.prototype._renumber): (WebInspector.DOMAgent.prototype._setDocument): * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.reset): (WebInspector.ElementsPanel.prototype.setDocument.selectDefaultNode): (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode): (WebInspector.ElementsPanel.prototype.setDocument): * inspector/front-end/InjectedScript.js: (InjectedScript.pushNodeByPathToFrontend): * inspector/front-end/InjectedScriptAccess.js: 2009-12-01 Dave Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=32045, make sure escape sequences work with all the @-rules we support. When escape sequences are present, the lexical scanner just returns a generic token name: ATKEYWORD. We have to process the escape sequences and then recheck against the rules we support with the final processed name. If we find a match, we mutate the token value to the appropriate rule name token, e.g., NAMESPACE_SYM. Added fast/css/namespaces/namespaces-escapes.xml * css/CSSParser.cpp: (WebCore::CSSParser::lex): (WebCore::CSSParser::recheckAtKeyword): (WebCore::CSSParser::text): * css/CSSParser.h: 2009-12-02 Anton Muhin Reviewed by Adam Barth.:w Allow to skip thread checks when accessing DOMDataStore for processes which run V8 in single thread mode. https://bugs.webkit.org/show_bug.cgi?id=31877 Should be covered by buildbots. * bindings/v8/V8DOMMap.cpp: (WebCore::getDOMDataStore): (WebCore::enableFasterDOMStoreAccess): (WebCore::getDOMNodeMap): (WebCore::getDOMObjectMap): (WebCore::getActiveDOMObjectMap): (WebCore::getDOMSVGElementInstanceMap): (WebCore::getDOMSVGObjectWithContextMap): * bindings/v8/V8DOMMap.h: 2009-12-02 Yury Semikhatsky Reviewed by Pavel Feldman. Code clean up: remove ScriptObjectQuarantine.* as a whole. https://bugs.webkit.org/show_bug.cgi?id=32060 * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * bindings/js/JSBindingsAllInOne.cpp: * bindings/js/ScriptObjectQuarantine.cpp: Removed. * bindings/js/ScriptObjectQuarantine.h: Removed. * bindings/js/ScriptValue.cpp: (WebCore::ScriptValue::quarantineValue): * bindings/js/ScriptValue.h: * bindings/v8/ScriptObjectQuarantine.cpp: Removed. * bindings/v8/ScriptObjectQuarantine.h: Removed. * bindings/v8/ScriptValue.h: (WebCore::ScriptValue::quarantineValue): * inspector/ConsoleMessage.cpp: (WebCore::ConsoleMessage::ConsoleMessage): * inspector/InspectorController.cpp: * inspector/InspectorDatabaseResource.cpp: (WebCore::InspectorDatabaseResource::bind): * inspector/InspectorFrontend.cpp: 2009-12-02 Fumitoshi Ukai Reviewed by Alexey Proskuryakov. WebSocket handshake check query component of URL https://bugs.webkit.org/show_bug.cgi?id=31617 Tests: websocket/tests/url-with-credential.html websocket/tests/url-with-empty-query.html websocket/tests/url-with-fragment.html websocket/tests/url-with-query-for-no-query.html websocket/tests/url-with-query.html * platform/KURLGoogle.cpp: (WebCore::KURL::query): returns a null if query is not specified and returns an empty if query is specified but empty. * websockets/WebSocketHandshake.cpp: (WebCore::resourceName): added. add query component to path if specified. (WebCore::WebSocketHandshake::clientLocation): (WebCore::WebSocketHandshake::clientHandshakeMessage): 2009-12-01 David Levin Reviewed by Eric Seidel. Incorrect code in WebGLRenderingContext.cpp https://bugs.webkit.org/show_bug.cgi?id=32046 Fix incorrect code that happened to work. != has higher precendence than &. The simplest fix is to remove the "!= 0" which violates WebKit style guidelines anyway. Also added periods to few comments in the same function. * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::validateIndexArray): 2009-12-01 Kent Tamura Reviewed by Darin Adler. Change [Reflect] to [ConvertNullToNullString, Reflect] for min, max, pattern and step attributes of HTMLInputElement. https://bugs.webkit.org/show_bug.cgi?id=31708 * html/HTMLInputElement.idl: 2009-12-01 Chris Fleizach Reviewed by Darin Adler. WAI-ARIA: implement support for ARIA drag and drop https://bugs.webkit.org/show_bug.cgi?id=32007 Test: platform/mac/accessibility/aria-drag-drop.html * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::supportsARIADropping): (WebCore::AccessibilityObject::supportsARIADragging): (WebCore::AccessibilityObject::isARIAGrabbed): (WebCore::AccessibilityObject::setARIAGrabbed): (WebCore::AccessibilityObject::determineARIADropEffects): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::supportsARIADropping): (WebCore::AccessibilityRenderObject::supportsARIADragging): (WebCore::AccessibilityRenderObject::isARIAGrabbed): (WebCore::AccessibilityRenderObject::setARIAGrabbed): (WebCore::AccessibilityRenderObject::determineARIADropEffects): * accessibility/AccessibilityRenderObject.h: * accessibility/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]): (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): * html/HTMLAttributeNames.in: 2009-12-01 Adam Barth https://bugs.webkit.org/show_bug.cgi?id=21288 Unreviewed port of @sandbox to V8. * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::isEnabled): * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::createWindow): 2009-12-01 Patrik Persson Reviewed by Darin Adler. Implement HTML5 sandbox attribute for iframes. http://www.w3.org/TR/html5/text-level-semantics.html#attr-iframe-sandbox https://bugs.webkit.org/show_bug.cgi?id=21288 Tests: fast/frames/sandboxed-iframe-attribute-parsing.html fast/frames/sandboxed-iframe-forms.html fast/frames/sandboxed-iframe-navigation-allowed.html fast/frames/sandboxed-iframe-navigation-parent.html fast/frames/sandboxed-iframe-navigation-targetlink.html fast/frames/sandboxed-iframe-navigation-windowopen.html fast/frames/sandboxed-iframe-plugins.html fast/frames/sandboxed-iframe-scripting.html fast/frames/sandboxed-iframe-storage.html http/tests/security/sandboxed-iframe-document-cookie.html http/tests/security/sandboxed-iframe-modify-self.html http/tests/security/xss-DENIED-sandboxed-iframe.html http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow.html http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard.html http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied.html * bindings/js/JSDOMWindowCustom.cpp: sandboxing navigation (WebCore::createWindow): * bindings/js/ScriptController.cpp: sandboxing scripts (WebCore::ScriptController::isEnabled): * dom/Document.cpp: (WebCore::Document::processHttpEquiv): (WebCore::Document::cookie): raise exception when accessed from sandbox (WebCore::Document::setCookie): raise exception when accessed from sandbox (WebCore::Document::initSecurityContext): updae sandbox status (WebCore::Document::updateSandboxFlags): * dom/Document.h: * dom/Document.idl: * html/HTMLAppletElement.cpp: sandboxing applets (WebCore::HTMLAppletElement::createRenderer): (WebCore::HTMLAppletElement::renderWidgetForJSBindings): (WebCore::HTMLAppletElement::canEmbedJava): * html/HTMLAppletElement.h: * html/HTMLAttributeNames.in: * html/HTMLFrameOwnerElement.cpp: management of sandbox flags as stated in attribute (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): (WebCore::HTMLFrameOwnerElement::setSandboxFlags): * html/HTMLFrameOwnerElement.h: (WebCore::HTMLFrameOwnerElement::sandboxFlags): * html/HTMLIFrameElement.cpp: sandbox attribute parsing (WebCore::parseSandboxAttribute): (WebCore::HTMLIFrameElement::parseMappedAttribute): * html/HTMLIFrameElement.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::getCookies): * loader/CrossOriginAccessControl.cpp: (WebCore::passesAccessControlCheck): * loader/FrameLoader.cpp: (WebCore::FrameLoader::FrameLoader): (WebCore::FrameLoader::init): (WebCore::FrameLoader::submitForm): sandboxing forms (WebCore::FrameLoader::requestObject): sandboxing plugins (WebCore::FrameLoader::shouldAllowNavigation): sandboxing navigation (WebCore::FrameLoader::updateSandboxFlags): propagation of sandbox flags * loader/FrameLoader.h: (WebCore::FrameLoader::ownerElementSandboxFlagsChanged): (WebCore::FrameLoader::isSandboxed): (WebCore::FrameLoader::sandboxFlags): * loader/FrameLoaderTypes.h: (WebCore::): * page/DOMWindow.cpp: disable storage and databases in sandboxed frames (WebCore::DOMWindow::sessionStorage): (WebCore::DOMWindow::localStorage): (WebCore::DOMWindow::openDatabase): * page/SecurityOrigin.cpp: added sandboxing status (WebCore::SecurityOrigin::SecurityOrigin): (WebCore::SecurityOrigin::canAccess): (WebCore::SecurityOrigin::canRequest): (WebCore::SecurityOrigin::toString): * page/SecurityOrigin.h: (WebCore::SecurityOrigin::setSandboxFlags): (WebCore::SecurityOrigin::isSandboxed): (WebCore::SecurityOrigin::canAccessDatabase): (WebCore::SecurityOrigin::canAccessStorage): * websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::didReceiveData): 2009-12-01 Chris Fleizach Reviewed by David Kilzer. ARIA: support a way to create a static text object https://bugs.webkit.org/show_bug.cgi?id=32030 Test: accessibility/aria-text-role.html * accessibility/AccessibilityObject.cpp: (WebCore::createARIARoleMap): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::stringValue): (WebCore::AccessibilityRenderObject::isDescendantOfBarrenParent): (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): (WebCore::AccessibilityRenderObject::text): * accessibility/AccessibilityRenderObject.h: 2009-12-01 Oliver Hunt Reviewed by Maciej Stachowiak. Inspector crashes when collecting on every allocation https://bugs.webkit.org/show_bug.cgi?id=32044 The crash is caused by the prototype wrapper object getting collected when allocating the object that is going to use it as a prototype. Because the only reference to the prototype wrapper is through the new object's Structure it does not get marked automatically. * bindings/js/JSInspectedObjectWrapper.cpp: (WebCore::JSInspectedObjectWrapper::wrap): * bindings/js/JSInspectorCallbackWrapper.cpp: (WebCore::JSInspectorCallbackWrapper::wrap): 2009-12-01 Nikolas Zimmermann Reviewed by Simon Fraser. Add SVG animation test framework with 'snapshot' functionality https://bugs.webkit.org/show_bug.cgi?id=31897 Add 'sampleSVGAnimationForElementAtTime' method to the LayoutTestController, for the use within the new SVG animation test framework (LayoutTests/svg/animations/) layoutTestController.sampleAnimationAtTime(, , ); to sample a svg animateMotion/animateColor/animate/set element at certain times. After the desired SVG animation starts and calling the method above, it's immediately forwarded to the desired sampling time. After JS returns from the 'sampleSVGAnimationForElementAtTime' method a callback is fired used to sample the animation value at the target time. It's modelled similar to the CSS animation/transition testing framework, inspired by LayoutTests/animations/animation-test-helpers.js. Though it has been extended to integrate within the fast/js/js-test-* framework, that's used for the SVG dynamic-updates tests, to simplify test creation, by utilizing script-tests/* only. Adding a simple testcase testing the DRT methods, it will soon be extended to test animVal/baseVal interaction, while animating. Test: svg/animations/animVal-basics.html * WebCore.base.exp: * WebCore.xcodeproj/project.pbxproj: * svg/SVGDocumentExtensions.cpp: (WebCore::SVGDocumentExtensions::sampleAnimationAtTime): * svg/SVGDocumentExtensions.h: * svg/animation/SMILTimeContainer.cpp: (WebCore::SMILTimeContainer::SMILTimeContainer): (WebCore::SMILTimeContainer::sampleAnimationAtTime): (WebCore::SMILTimeContainer::updateAnimations): * svg/animation/SMILTimeContainer.h: 2009-12-01 Jens Alfke Reviewed by Darin Adler. Add convenience methods to Element and QualifiedName that take char* instead of AtomicString, in preparation for removing the implicit conversion between the two types (30187). https://bugs.webkit.org/show_bug.cgi?id=31749 * dom/Element.cpp: (WebCore::Element::setCStringAttribute): Equivalent to setAttribute. * dom/Element.h: * dom/QualifiedName.cpp: (WebCore::QualifiedName::init): Shared impl of both constructors (WebCore::QualifiedName::QualifiedName): New c'tor taking char*. * dom/QualifiedName.h: * platform/network/HTTPHeaderMap.cpp: (WebCore::CaseFoldingCStringTranslator): Enables lookup by C string (WebCore::HTTPHeaderMap::get): New variant that takes C string (WebCore::HTTPHeaderMap::contains): New variant that takes C string (WebCore::HTTPHeaderMap::add): New variant that takes C string * platform/network/HTTPHeaderMap.h: (WebCore::HTTPHeaderMap::get): (WebCore::HTTPHeaderMap::add): * platform/network/ResourceRequestBase.cpp: (WebCore::ResourceRequestBase::httpHeaderField): New variant that takes C string * platform/network/ResourceRequestBase.h: (WebCore::ResourceRequestBase::setHTTPHeaderField): Use symbolic names for headers * platform/network/ResourceResponseBase.cpp: (WebCore::ResourceResponseBase::httpHeaderField): New variant that takes C string * platform/network/ResourceResponseBase.h: 2009-12-01 Alexey Proskuryakov More Windows build fix. * platform/network/cf/CredentialStorageCFNet.cpp: (WebCore::CredentialStorage::getFromPersistentStorage): 2009-12-01 Alexey Proskuryakov Windows build fix. * platform/network/cf/CredentialStorageCFNet.cpp: Include RetainPtr.h. 2009-12-01 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=32036 Implement CredentialStorage::getFromPersistentStorage for CFNetwork * platform/network/cf/CredentialStorageCFNet.cpp: (WebCore::CredentialStorage::getFromPersistentStorage): 2009-12-01 Daniel Bates Reviewed by Pavel Feldman. https://bugs.webkit.org/show_bug.cgi?id=32001 Added missing localized strings (that I left out of the patch for bug #21554): %d × %d pixels %d × %d pixels (Natural: %d × %d pixels) Also, changed formatting of these stings to conform with existing ones (added a space on both sides of the multiply sign). * English.lproj/localizedStrings.js: Added stings. * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): 2009-12-01 Dave Hyatt Reviewed by Simon Fraser. Fix for bug 32032, empty namespaces should be allowed in @namespace directives in CSS. Added fast/css/namespaces/namespaces-empty.xml * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::addNamespace): (WebCore::CSSStyleSheet::determineNamespace): 2009-12-01 Joseph Pecoraro Reviewed by Timothy Hatcher. Web Inspector: Escape key in the Search Field should be more User Friendly https://bugs.webkit.org/show_bug.cgi?id=32005 * inspector/front-end/inspector.js: (WebInspector.loaded): add mousedown listener on the search field (WebInspector.searchFieldManualFocus): user clicked to focus on the search field (WebInspector.searchKeyDown): handle escape 2009-12-01 Dave Hyatt Reviewed by David Kilzer. @namespace directives need to use "maybe_space" in the "maybe_ns_prefix" portion of the grammar to match the spec. Not doing so prevent comments from being used immmediately after the namespace prefix. Added fast/css/namespaces-comments.xml * css/CSSGrammar.y: 2009-12-01 Yael Aharon Reviewed by Timothy Hatcher. Reloading WebInspector from context menu is closing it instead of reloading. https://bugs.webkit.org/show_bug.cgi?id=32004 When reloading WebInspector, don't delete its m_page. * inspector/InspectorController.cpp: (WebCore::InspectorController::close): 2009-12-01 Steve Block Reviewed by Dimitri Glazkov. Adds V8 bindings for Geolocation. https://bugs.webkit.org/show_bug.cgi?id=30206 Also adds Geolocation files to Chrome build files. * WebCore.gyp/WebCore.gyp: Modified. Corrects list of Geolocation IDL files. * WebCore.gypi: Modified. Adds Geolocation files. * bindings/v8/DOMObjectsInclude.h: Modified. Adds Geolocation includes. * bindings/v8/DerivedSourcesAllInOne.cpp: Modified. Adds Geolocation files. * bindings/v8/V8Index.cpp: Modified. Includes Geolocation generated headers. * bindings/v8/V8Index.h: Modified. Adds Geolocation types to DOM_OBJECT_TYPES. * bindings/v8/custom/V8CoordinatesCustom.cpp: Added. Handles optional properties. * bindings/v8/custom/V8CustomBinding.h: Modified. Declares callbacks and getters. * bindings/v8/custom/V8CustomPositionCallback.cpp: Added. (WebCore::V8CustomPositionCallback::V8CustomPositionCallback): Added. Constructor. (WebCore::V8CustomPositionCallback::~V8CustomPositionCallback): Added. Destructor. (WebCore::V8CustomPositionCallback::handleEvent): Added. Invokes callback. * bindings/v8/custom/V8CustomPositionCallback.h: Added. (WebCore::V8CustomPositionCallback::create): Added. Factory method. * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: Added. (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback): Added. Constructor. (WebCore::V8CustomPositionErrorCallback::~V8CustomPositionErrorCallback): Added. Destructor. (WebCore::V8CustomPositionErrorCallback::handleEvent): Added. Invokes callback. * bindings/v8/custom/V8CustomPositionErrorCallback.h: Added. (WebCore::V8CustomPositionErrorCallback::create): Added. Factory method. * bindings/v8/custom/V8GeolocationCustom.cpp: Added. (WebCore::throwTypeMismatchException): Added. Throws a type mismatch error. (WebCore::createPositionCallback): Added. Handles type checking for successCallback argument. (WebCore::createPositionErrorCallback): Added. Handles type checking for errorCallback argument. (WebCore::createPositionOptions): Added. Handles type checking for positionOptions argument. 2009-12-01 Yury Semikhatsky Reviewed by Adam Barth. Provide a way to get ScriptState for the inspected page. https://bugs.webkit.org/show_bug.cgi?id=32020 * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::mainWorldScriptState): * bindings/v8/ScriptController.h: * bindings/v8/ScriptState.cpp: (WebCore::scriptStateFromPage): 2009-12-01 Chris Marrin Reviewed by Adam Roben. Changed mallocs to fastMallocs and frees to fastFrees in GraphicsContext3D. Also added error returns https://bugs.webkit.org/show_bug.cgi?id=30778 * platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::getProgramInfoLog): (WebCore::GraphicsContext3D::getShaderInfoLog): (WebCore::GraphicsContext3D::getShaderSource): (WebCore::imageToTexture): 2009-12-01 Mads Ager Reviewed by Eric Seidel. [V8] Don't crash in DOMWindow event getter in OOM situations https://bugs.webkit.org/show_bug.cgi?id=32017 Add missing null handle checks in DOMWindow event property accessors. V8Proxy::context(frame) can return a null handle in OOM situations either if failing to initialize a context or if an OOM is handled gracefully and javascript is disabled. No new tests because we don't have a good way to test out-of-memory bugs. * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::ACCESSOR_GETTER): (WebCore::ACCESSOR_SETTER): 2009-12-01 Chris Marrin Reviewed by Oliver Hunt. Updated HTMLCanvasElement to accept "experimental-webgl" as the context name. https://bugs.webkit.org/show_bug.cgi?id=31672 * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): 2009-12-01 Pavel Feldman Not reviewed: chromium build fix, added missing import. * inspector/InspectorFrontendHost.cpp: 2009-12-01 Pavel Feldman Not reviewed: fix windows build via unexcluding generated files from project. * WebCore.vcproj/WebCore.vcproj: 2009-12-01 Mark Rowe Stop copying IDL files in to the WebCore framework wrapper. * WebCore.xcodeproj/project.pbxproj: 2009-12-01 Mark Rowe Fix the Tiger build by making the Xcode project compatible with Xcode 2.4. This was probably broken by hand-editing the project file as Xcode itself knows how to keep project files to a backwards-compatible subset of its format. * WebCore.xcodeproj/project.pbxproj: 2009-12-01 Pavel Feldman Not reviewed: windows build fix (bad vcproj in r51528). * WebCore.vcproj/WebCore.vcproj: 2009-11-27 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Split InspectorBackend into three parts: backend, injected script host and frontend host. https://bugs.webkit.org/show_bug.cgi?id=31888 * DerivedSources.make: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * bindings/js/JSBindingsAllInOne.cpp: * bindings/js/JSInspectorBackendCustom.cpp: Removed. * bindings/js/JSInspectorFrontendHostCustom.cpp: Added. (WebCore::JSInspectorFrontendHost::search): (WebCore::JSInspectorFrontendHost::setting): (WebCore::JSInspectorFrontendHost::setSetting): * bindings/js/ScriptObject.cpp: (WebCore::ScriptGlobalObject::set): * bindings/js/ScriptObject.h: * bindings/v8/DOMObjectsInclude.h: * bindings/v8/DerivedSourcesAllInOne.cpp: * bindings/v8/ScriptObject.cpp: (WebCore::ScriptGlobalObject::set): * bindings/v8/ScriptObject.h: * bindings/v8/V8Index.cpp: * bindings/v8/V8Index.h: * bindings/v8/custom/V8CustomBinding.h: * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8InspectorBackendCustom.cpp: Removed. * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): * inspector/InjectedScriptHost.cpp: Added. (WebCore::InjectedScriptHost::InjectedScriptHost): (WebCore::InjectedScriptHost::~InjectedScriptHost): (WebCore::InjectedScriptHost::copyText): (WebCore::InjectedScriptHost::nodeForId): (WebCore::InjectedScriptHost::wrapObject): (WebCore::InjectedScriptHost::unwrapObject): (WebCore::InjectedScriptHost::pushNodePathToFrontend): (WebCore::InjectedScriptHost::addNodesToSearchResult): (WebCore::InjectedScriptHost::currentCallFrame): (WebCore::InjectedScriptHost::databaseForId): (WebCore::InjectedScriptHost::selectDatabase): (WebCore::InjectedScriptHost::selectDOMStorage): (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript): (WebCore::InjectedScriptHost::inspectorDOMAgent): (WebCore::InjectedScriptHost::inspectorFrontend): * inspector/InjectedScriptHost.h: Added. (WebCore::InjectedScriptHost::create): (WebCore::InjectedScriptHost::inspectorController): (WebCore::InjectedScriptHost::disconnectController): * inspector/InjectedScriptHost.idl: Added. * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::InspectorBackend): (WebCore::InspectorBackend::storeLastActivePanel): (WebCore::InspectorBackend::toggleNodeSearch): (WebCore::InspectorBackend::resourceTrackingEnabled): (WebCore::InspectorBackend::debuggerEnabled): (WebCore::InspectorBackend::enableDebugger): (WebCore::InspectorBackend::disableDebugger): (WebCore::InspectorBackend::addBreakpoint): (WebCore::InspectorBackend::updateBreakpoint): (WebCore::InspectorBackend::removeBreakpoint): (WebCore::InspectorBackend::pauseInDebugger): (WebCore::InspectorBackend::resumeDebugger): (WebCore::InspectorBackend::stepOverStatementInDebugger): (WebCore::InspectorBackend::stepIntoStatementInDebugger): (WebCore::InspectorBackend::stepOutOfFunctionInDebugger): (WebCore::InspectorBackend::pauseOnExceptions): (WebCore::InspectorBackend::setPauseOnExceptions): (WebCore::InspectorBackend::profilerEnabled): (WebCore::InspectorBackend::enableProfiler): (WebCore::InspectorBackend::disableProfiler): (WebCore::InspectorBackend::startProfiling): (WebCore::InspectorBackend::stopProfiling): (WebCore::InspectorBackend::getProfileHeaders): (WebCore::InspectorBackend::getProfile): (WebCore::InspectorBackend::currentCallFrame): (WebCore::InspectorBackend::highlightDOMNode): (WebCore::InspectorBackend::hideDOMNodeHighlight): (WebCore::InspectorBackend::getCookies): (WebCore::InspectorBackend::deleteCookie): (WebCore::InspectorBackend::didEvaluateForTestInFrontend): (WebCore::InspectorBackend::nodeForId): * inspector/InspectorBackend.h: (WebCore::InspectorBackend::create): * inspector/InspectorBackend.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::~InspectorController): (WebCore::InspectorController::inspectedPageDestroyed): (WebCore::InspectorController::windowScriptObjectAvailable): * inspector/InspectorController.h: (WebCore::InspectorController::inspectorFrontendHost): (WebCore::InspectorController::injectedScriptHost): * inspector/InspectorFrontendHost.cpp: Added. (WebCore::InspectorFrontendHost::InspectorFrontendHost): (WebCore::InspectorFrontendHost::~InspectorFrontendHost): (WebCore::InspectorFrontendHost::loaded): (WebCore::InspectorFrontendHost::attach): (WebCore::InspectorFrontendHost::detach): (WebCore::InspectorFrontendHost::closeWindow): (WebCore::InspectorFrontendHost::windowUnloading): (WebCore::InspectorFrontendHost::setAttachedWindowHeight): (WebCore::InspectorFrontendHost::moveWindowBy): (WebCore::InspectorFrontendHost::localizedStringsURL): (WebCore::InspectorFrontendHost::hiddenPanels): (WebCore::InspectorFrontendHost::platform): (WebCore::InspectorFrontendHost::port): (WebCore::InspectorFrontendHost::addResourceSourceToFrame): (WebCore::InspectorFrontendHost::addSourceToFrame): * inspector/InspectorFrontendHost.h: Added. (WebCore::InspectorFrontendHost::create): (WebCore::InspectorFrontendHost::inspectorController): (WebCore::InspectorFrontendHost::disconnectController): * inspector/InspectorFrontendHost.idl: Added. * inspector/front-end/Breakpoint.js: (WebInspector.Breakpoint.prototype.set condition): * inspector/front-end/BreakpointsSidebarPane.js: (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint): (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged): * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.clearMessages): * inspector/front-end/CookieItemsView.js: (WebInspector.CookieItemsView.prototype._deleteCookieCallback): * inspector/front-end/DOMAgent.js: (WebInspector.DOMAgent.prototype.getChildNodesAsync): (WebInspector.DOMAgent.prototype.setAttributeAsync): (WebInspector.DOMAgent.prototype.removeAttributeAsync): (WebInspector.DOMAgent.prototype.setTextNodeValueAsync): (WebInspector.Cookies.getCookiesAsync): (WebInspector.EventListeners.getEventListenersForNodeAsync): * inspector/front-end/DOMStorage.js: (WebInspector.DOMStorage.prototype.getEntries): (WebInspector.DOMStorage.prototype.setItem): (WebInspector.DOMStorage.prototype.removeItem): * inspector/front-end/Database.js: (WebInspector.Database.prototype.getTableNames): * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): (WebInspector.ElementsPanel.prototype.hide): (WebInspector.ElementsPanel.prototype.reset): (WebInspector.ElementsPanel.prototype.handleCopyEvent): (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked): * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode): (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode): (): * inspector/front-end/EventListenersSidebarPane.js: (WebInspector.EventListenersSidebarPane.prototype): * inspector/front-end/InjectedScript.js: (InjectedScript._evaluateAndWrap): (InjectedScript.performSearch.addNodesToResults): (InjectedScript.getCallFrames): (InjectedScript._callFrameForId): (InjectedScript._clearConsoleMessages): (InjectedScript._inspectObject): (InjectedScript._copy): (InjectedScript._ensureCommandLineAPIInstalled): (InjectedScript._window): (InjectedScript._nodeForId): (InjectedScript._objectForId): (InjectedScript.pushNodeToFrontend): (InjectedScript.executeSql): (InjectedScript.executeSql.errorCallback): (InjectedScript.executeSql.queryTransaction): * inspector/front-end/InjectedScriptAccess.js: (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName): (InjectedScriptAccess._installHandler): * inspector/front-end/InspectorBackendStub.js: Added. (.WebInspector.InspectorBackendStub): (.WebInspector.InspectorBackendStub.prototype.wrapCallback): (.WebInspector.InspectorBackendStub.prototype.platform): (.WebInspector.InspectorBackendStub.prototype.port): (.WebInspector.InspectorBackendStub.prototype.closeWindow): (.WebInspector.InspectorBackendStub.prototype.attach): (.WebInspector.InspectorBackendStub.prototype.detach): (.WebInspector.InspectorBackendStub.prototype.storeLastActivePanel): (.WebInspector.InspectorBackendStub.prototype.clearMessages): (.WebInspector.InspectorBackendStub.prototype.searchingForNode): (.WebInspector.InspectorBackendStub.prototype.search): (.WebInspector.InspectorBackendStub.prototype.toggleNodeSearch): (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight): (.WebInspector.InspectorBackendStub.prototype.moveByUnrestricted): (.WebInspector.InspectorBackendStub.prototype.addResourceSourceToFrame): (.WebInspector.InspectorBackendStub.prototype.addSourceToFrame): (.WebInspector.InspectorBackendStub.prototype.getResourceDocumentNode): (.WebInspector.InspectorBackendStub.prototype.highlightDOMNode): (.WebInspector.InspectorBackendStub.prototype.hideDOMNodeHighlight): (.WebInspector.InspectorBackendStub.prototype.inspectedWindow): (.WebInspector.InspectorBackendStub.prototype.loaded): (.WebInspector.InspectorBackendStub.prototype.localizedStringsURL): (.WebInspector.InspectorBackendStub.prototype.windowUnloading): (.WebInspector.InspectorBackendStub.prototype.hiddenPanels): (.WebInspector.InspectorBackendStub.prototype.debuggerEnabled): (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking): (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking): (.WebInspector.InspectorBackendStub.prototype.resourceTrackingEnabled): (.WebInspector.InspectorBackendStub.prototype.enableDebugger): (.WebInspector.InspectorBackendStub.prototype.disableDebugger): (.WebInspector.InspectorBackendStub.prototype.addBreakpoint): (.WebInspector.InspectorBackendStub.prototype.removeBreakpoint): (.WebInspector.InspectorBackendStub.prototype.updateBreakpoint): (.WebInspector.InspectorBackendStub.prototype.pauseInDebugger): (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptions): (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptions): (.WebInspector.InspectorBackendStub.prototype.resumeDebugger): (.WebInspector.InspectorBackendStub.prototype.profilerEnabled): (.WebInspector.InspectorBackendStub.prototype.enableProfiler): (.WebInspector.InspectorBackendStub.prototype.disableProfiler): (.WebInspector.InspectorBackendStub.prototype.startProfiling): (.WebInspector.InspectorBackendStub.prototype.stopProfiling): (.WebInspector.InspectorBackendStub.prototype.getProfileHeaders): (.WebInspector.InspectorBackendStub.prototype.getProfile): (.WebInspector.InspectorBackendStub.prototype.takeHeapSnapshot): (.WebInspector.InspectorBackendStub.prototype.databaseTableNames): (.WebInspector.InspectorBackendStub.prototype.stepIntoStatementInDebugger): (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunctionInDebugger): (.WebInspector.InspectorBackendStub.prototype.stepOverStatementInDebugger): (.WebInspector.InspectorBackendStub.prototype.setSetting): (.WebInspector.InspectorBackendStub.prototype.dispatchOnInjectedScript): (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup): (.WebInspector.InspectorBackendStub.prototype.setting): * inspector/front-end/InspectorControllerStub.js: * inspector/front-end/InspectorFrontendHostStub.js: Added. (.WebInspector.InspectorFrontendHostStub): (.WebInspector.InspectorFrontendHostStub.prototype.platform): (.WebInspector.InspectorFrontendHostStub.prototype.port): (.WebInspector.InspectorFrontendHostStub.prototype.closeWindow): (.WebInspector.InspectorFrontendHostStub.prototype.attach): (.WebInspector.InspectorFrontendHostStub.prototype.detach): (.WebInspector.InspectorFrontendHostStub.prototype.search): (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight): (.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy): (.WebInspector.InspectorFrontendHostStub.prototype.addResourceSourceToFrame): (.WebInspector.InspectorFrontendHostStub.prototype.addSourceToFrame): (.WebInspector.InspectorFrontendHostStub.prototype.loaded): (.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL): (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels): (.WebInspector.InspectorFrontendHostStub.prototype.setSetting): (.WebInspector.InspectorFrontendHostStub.prototype.setting): * inspector/front-end/ProfileView.js: (WebInspector.CPUProfileView): (WebInspector.CPUProfileType.prototype.buttonClicked): * inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype._updateInterface): (WebInspector.ProfilesPanel.prototype._enableProfiling): (WebInspector.ProfilesPanel.prototype._toggleProfiling): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.reset): (WebInspector.ResourcesPanel.prototype._toggleLargerResources): (WebInspector.ResourcesPanel.prototype._enableResourceTracking): (WebInspector.ResourcesPanel.prototype._toggleResourceTracking): * inspector/front-end/ScriptView.js: (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.show): (WebInspector.ScriptsPanel.prototype.addScript): (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown): (WebInspector.ScriptsPanel.prototype.reset): (WebInspector.ScriptsPanel.prototype.canShowResource): (WebInspector.ScriptsPanel.prototype._showScriptOrResource): (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton): (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): (WebInspector.ScriptsPanel.prototype._enableDebugging): (WebInspector.ScriptsPanel.prototype._toggleDebugging): (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions): (WebInspector.ScriptsPanel.prototype._togglePause): (WebInspector.ScriptsPanel.prototype._stepOverClicked): (WebInspector.ScriptsPanel.prototype._stepIntoClicked): (WebInspector.ScriptsPanel.prototype._stepOutClicked): * inspector/front-end/SourceView.js: (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): (WebInspector.SourceView.prototype.performSearch.findSearchMatches): (WebInspector.SourceView.prototype.performSearch): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype._changeColorFormat): * inspector/front-end/TestController.js: (WebInspector.TestController.prototype.notifyDone): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked): * inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update): (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions): (WebInspector.WatchExpressionsSection.prototype.saveExpressions): * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.html: * inspector/front-end/inspector.js: (WebInspector.pendingDispatches.0.get platform): (WebInspector.get port): (WebInspector.set currentPanel): (WebInspector._createPanels): (WebInspector._loadPreferences): (WebInspector.set attached): (WebInspector._updateHoverHighlight): (WebInspector.loaded): (windowLoaded): (WebInspector.windowUnload): (WebInspector.close): (WebInspector.toolbarDrag): (WebInspector.UIString): 2009-11-30 Shinichiro Hamaji Reviewed by Dan Bernstein. css2.1/t1205-c566-list-stl-00-e-ag.html is failing https://bugs.webkit.org/show_bug.cgi?id=23264 css2.1/t1205-c565-list-pos-00-b.html is failing https://bugs.webkit.org/show_bug.cgi?id=23263 Ignore whitespaces after list markers. Rendering of this was already done for the case where inside=false. This fixes the rendering of inside=true case and calcInlinePrefWidths. Test: fast/lists/calc-width-with-space.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::calcInlinePrefWidths): * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::findNextLineBreak): 2009-11-30 Fumitoshi Ukai Unreviewed Chromium build fix introduced by r51212 Fix scriptStateFromNode and ScriptStateFromPage to take DOMWrapperWorld as the first argument. Move mainThreadNormalWorld() to ScriptState.{h,cpp}. Add debuggerWorld() and pluginWorld() in ScriptState.h. * bindings/v8/ScriptController.cpp: * bindings/v8/ScriptController.h: * bindings/v8/ScriptState.cpp: (WebCore::scriptStateFromNode): (WebCore::scriptStateFromPage): (WebCore::mainThreadNormalWorld): * bindings/v8/ScriptState.h: (WebCore::debuggerWorld): (WebCore::pluginWorld): 2009-11-30 Enrica Casucci Reviewed by Darin Adler. Can focus but not type into content editable block that contains only non-editable content. https://bugs.webkit.org/show_bug.cgi?id=31750 The goal is to change the way we choose a visible position after hit detection, by preferring a visually equivalent editable position if available. By doing this, it is possible to add content to an editable block that initially contains only non editable elements. Test: editing/selection/mixed-editability-10.html * WebCore.base.exp: Changed to match the new signature of downstream and upstream in the Position class. * dom/Position.cpp: (WebCore::Position::atEditingBoundary): Added. (WebCore::Position::upstream): Modified to allow to cross the boundary between editable and non editable content if required. (WebCore::Position::downstream): Modified to allow to cross the boundary between editable and non editable content if required. (WebCore::Position::isCandidate): Modified to qualify as candidates positions that are at the editability boundary. (WebCore::Position::getInlineBoxAndOffset): Modified to retrieve the inline box to be used in calculating the caret rectangle. * dom/Position.h: (WebCore::Position::): * dom/PositionIterator.cpp: (WebCore::PositionIterator::atEditingBoundary): Added. (WebCore::PositionIterator::isCandidate): Modified to qualify as candidates positions that are at the editability boundary. * dom/PositionIterator.h: * editing/htmlediting.cpp: (WebCore::firstEditablePositionAfterPositionInRoot): Modified to accept not only descendants of the editable container, but the container itself. (WebCore::lastEditablePositionBeforePositionInRoot): Modified to accept not only descendants of the editable container, but the container itself. * rendering/RenderObject.cpp: (WebCore::RenderObject::createVisiblePosition): Added logic to prefer an editable position, if available. * rendering/RenderText.cpp: (WebCore::RenderText::isAllCollapsibleWhitespace): Added. * rendering/RenderText.h: 2009-11-30 Kevin Ollivier wx build fix, add header needed for wx build. * css/CSSFontFaceSrcValue.cpp: 2009-11-30 Mark Rowe Reviewed by David Kilzer. WebCore binary missing symbols when built for x86_64 from a machine that cannot run x86_64 binaries The check for whether WTF_USE_PLUGIN_HOST_PROCESS is defined occurs under the native architecture of the build machine. If that is 32-bit then WTF_USE_PLUGIN_HOST_PROCESS will not be defined. We work around this by forcing the check to be performed against the x86_64 architecture. * DerivedSources.make: 2009-11-30 Beth Dakin Reviewed by Oliver Hunt. Fix for https://bugs.webkit.org/show_bug.cgi?id=32000 Crash in Safari caused by extreme column-gap and column-width values -and corresponding- Prevent desiredColumnCount from being less than 1 since it is used as a divisor. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::calcColumnWidth): 2009-11-30 Alexey Proskuryakov Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=31659 Connection must be closed in case of Web Socket handshake error The network connection was closed, but the close event wasn't dispatched. Tested by websocket/tests/handshake-error.html, which is un-skipped now. * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::platformClose): Call client didHandle() method. This looks strange in CFNetwork implementation, because it's the client that asked to close the stream, so it shouldn't need the callback. It makes more sense in cross-process implementation, because closing is async there. 2009-11-30 Gavin Barraclough Reviewed by Geoff Garen. Bug 31859 - Make world selection for JSC IsolatedWorlds automagical. WebCore presently has to explicitly specify the world before entering into JSC, which is a little fragile (particularly since property access via a getter/setter might invoke execution). Instead derive the current world from the lexical global object. Remove the last uses of mainThreadCurrentWorld(), so the world is always obtained via currentWorld(). Switch this to obtain the world from the ExecsState's lexical global object instead. Remove the call/construct/evaluate 'InWorld' methods, since these are no longer necessary. * WebCore.base.exp: * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCallbackData.h: (WebCore::JSCallbackData::JSCallbackData): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSDOMBinding.cpp: (WebCore::currentWorld): (WebCore::mainThreadNormalWorld): * bindings/js/JSDOMBinding.h: (WebCore::WebCoreJSClientData::WebCoreJSClientData): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): * bindings/js/JSDOMWindowBase.h: * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::JSEventListener::reportError): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open): * bindings/js/JSNodeFilterCondition.cpp: (WebCore::JSNodeFilterCondition::acceptNode): * bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::construct): (WebCore::JSQuarantinedObjectWrapper::call): * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::initScript): (WebCore::ScriptController::updateDocument): * bindings/js/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::call): (WebCore::ScriptFunctionCall::construct): * bindings/js/ScriptObjectQuarantine.cpp: (WebCore::getQuarantinedScriptObject): * bindings/js/ScriptState.cpp: (WebCore::scriptStateFromNode): (WebCore::scriptStateFromPage): * bindings/js/ScriptState.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): * bindings/objc/WebScriptObject.mm: (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): * bridge/NP_jsobject.cpp: (_NPN_InvokeDefault): (_NPN_Invoke): (_NPN_Evaluate): (_NPN_Construct): * bridge/jni/jni_jsobject.mm: (JavaJSObject::call): (JavaJSObject::eval): * dom/NodeFilter.h: (WebCore::NodeFilter::acceptNode): * dom/NodeIterator.h: (WebCore::NodeIterator::nextNode): (WebCore::NodeIterator::previousNode): * dom/TreeWalker.h: (WebCore::TreeWalker::parentNode): (WebCore::TreeWalker::firstChild): (WebCore::TreeWalker::lastChild): (WebCore::TreeWalker::previousSibling): (WebCore::TreeWalker::nextSibling): (WebCore::TreeWalker::previousNode): (WebCore::TreeWalker::nextNode): * inspector/InspectorController.cpp: (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::didEvaluateForTestInFrontend): * inspector/JavaScriptCallFrame.cpp: (WebCore::JavaScriptCallFrame::evaluate): 2009-11-30 Eric Carlson Reviewed by Simon Fraser. All HTML5 media element events should be regular events https://bugs.webkit.org/show_bug.cgi?id=30513 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::selectMediaResource): (WebCore::HTMLMediaElement::noneSupported): (WebCore::HTMLMediaElement::mediaEngineError): (WebCore::HTMLMediaElement::setNetworkState): (WebCore::HTMLMediaElement::userCancelledLoad): Call scheduleEvent instead of scheduleProgressEvent. (WebCore::HTMLMediaElement::progressEventTimerFired): Call scheduleEvent instead of scheduleProgressEvent. Call renderer->updateFromElement after scheduling a 'progress' event so the controller will update download progress indicator. * html/HTMLMediaElement.h: Remove scheduleProgressEvent prototype. 2009-11-30 Joseph Pecoraro Reviewed by Pavel Feldman. Web Inspector: Wrong console output for Regexp escape sequence https://bugs.webkit.org/show_bug.cgi?id=31538 Updated inspector/console-format.html * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.createDividerElement): style issues. (WebInspector.ConsoleView.createFilterElement): style issues. (WebInspector.ConsoleView): added _customFormatters table. (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): style isses. (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): style issues. (WebInspector.ConsoleView.prototype._format): simplified delegation to formatter logic. (WebInspector.ConsoleView.prototype._formatobject): (WebInspector.ConsoleView.prototype._formatnode): (WebInspector.ConsoleView.prototype._printArray): (WebInspector.ConsoleMessage.prototype._format): commented and broke down the algorithm into parts. (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.append): handle substitution string formatting. (WebInspector.ConsoleMessage.prototype._formatIndividualValue): handling individual value formatting. (WebInspector.ConsoleCommandResult): * inspector/front-end/InjectedScript.js: simplified regex formatting. * inspector/front-end/inspector.js: (WebInspector.linkifyStringAsFragment): converted new RegExp to literal for performance benefits. * inspector/front-end/utilities.js: (Element.prototype.hasStyleClass): update inaccurate comment. (String.prototype.trimURL): converted new RegExp to literal for performance benefits. 2009-11-30 Erik Arvidsson Reviewed by Adam Barth. Clean up V8 bindings for CSSStyleDeclaration and CSSVariableDeclaration https://bugs.webkit.org/show_bug.cgi?id=31895 No new tests. This is already covered by: fast/dom/CSSStyleDeclaration/css-computed-style-item.html fast/dom/CSSStyleDeclaration/css-style-item.html * bindings/v8/V8Collection.h: (WebCore::collectionStringIndexedPropertyGetter): (WebCore::setCollectionStringIndexedGetter): * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::getTemplate): 2009-11-30 Steve Block Reviewed by Eric Seidel. Adds include of wtf/StdLibExtras.h for DEFINE_STATIC_LOCAL in V8 ScriptController. https://bugs.webkit.org/show_bug.cgi?id=31932 Build fix only, no new tests. * bindings/v8/ScriptController.cpp: Modified. Adds include of wtf/StdLibExtras.h. 2009-11-30 Steve Block Reviewed by Eric Seidel. Adds PassOwnPtr include to ScriptExecutionContext.h. https://bugs.webkit.org/show_bug.cgi?id=31929 Build fix only, no new tests. * dom/ScriptExecutionContext.h: Modified. Adds PassOwnPtr include. 2009-11-30 Dirk Schulze Reviewed by Nikolas Zimmermann. REGRESSION (r49757): masking-mask-01-b.svg rendered incorrectly [https://bugs.webkit.org/show_bug.cgi?id=31980] It turns out, that we did not handle maskUnits="userSpaceOnUse" correctly. We just need to move the context of the maskImage if maskContentUnits="objectBoundingBox". The context gets scaled on this unit combination, so we have to substract the position of the targetRect. On userSpaceOnUse the position just depends on the position of the mask element. I added a test with some senseless and reasonable values for size and postion of the mask and it's contents. I also used every combination of maskUnits and maskContentUnits to be sure, that it is fixed this time. Test: svg/custom/mask-with-all-units.svg * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::drawMaskerContent): 2009-11-30 Steve Block Reviewed by Eric Seidel. Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent. https://bugs.webkit.org/show_bug.cgi?id=31928 Build fix only, no new tests. * page/DOMWindow.cpp: Modified. Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent. 2009-11-30 Steve Block Reviewed by Eric Seidel. Adds SHARED_WORKERS guards to V8 WorkerContextExecutionProxy. https://bugs.webkit.org/show_bug.cgi?id=31926 Build fix only, no new tests. * bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): (WebCore::WorkerContextExecutionProxy::convertToV8Object): (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object): 2009-11-30 Benjamin Poulain Reviewed by Kenneth Rohde Christiansen. Chrome::contentsSizeChanged() is called when the content size has not changed https://bugs.webkit.org/show_bug.cgi?id=31978 Do not trigger contentsSizeChaned() is the new size is the same as the old one. * page/FrameView.cpp: (WebCore::FrameView::setContentsSize): 2009-11-30 Laszlo Gombos Reviewed by Kenneth Rohde Christiansen. [Qt] Fix some compiler warnings seen on QtWebKit/Mac https://bugs.webkit.org/show_bug.cgi?id=31962 No new tests as there is no functional change. * platform/network/ResourceHandle.h: Make destructor virtual as after r50772 ResourceHandle has virtual functions. * plugins/mac/PluginPackageMac.cpp: (WebCore::PluginPackage::fetchInfo): Fix typo WTF is a namespace not a label * plugins/mac/PluginViewMac.cpp: (WebCore::PluginView::setNPWindowIfNeeded): Add l to the format specifier 2009-11-30 Xan Lopez Reviewed by Gustavo Noronha. Add new headers to sources list. * GNUmakefile.am: 2009-11-30 Girish Ramakrishnan Reviewed by Holger Freyther. [Qt] Mac Plugins : Get context menu to work in QGraphicsView Flash expects the value in record.where to be the global position for displaying the context menu. https://bugs.webkit.org/show_bug.cgi?id=31979 * plugins/mac/PluginViewMac.cpp: (WebCore::PluginView::handleMouseEvent): 2009-11-30 Steve Block Reviewed by Eric Seidel. Adds PLATFORM(CHROMIUM) guards around memory usage code in V8GCController. https://bugs.webkit.org/show_bug.cgi?id=31925 This code uses ChromiumBridge and Chromium-specific constant values not appropriate for other platforms such as Android. Build fix only, no new tests. * bindings/v8/V8GCController.cpp: Modified. Adds PLATFORM(CHROMIUM) around Chromium-specific code. 2009-11-29 Brent Fulgham Build fix. Correct draw signature used in ImageCairoWin.cpp. * platform/graphics/win/ImageCairoWin.cpp: (WebCore::BitmapImage::getHBITMAPOfSize): (WebCore::BitmapImage::drawFrameMatchingSourceSize): 2009-11-28 Oliver Hunt Reviewed by Sam Weinig. postMessage should serialize File objects https://bugs.webkit.org/show_bug.cgi?id=31955 Update SerializedScriptValue to include support for File objects in the serialized object graph. * bindings/js/SerializedScriptValue.cpp: (WebCore::SerializedScriptValueData::SerializedScriptValueData): (WebCore::SerializingTreeWalker::convertIfTerminal): (WebCore::DeserializingTreeWalker::convertIfTerminal): * bindings/js/SerializedScriptValue.h: (WebCore::SerializedScriptValueData::): (WebCore::SerializedScriptValueData::asString): 2009-11-29 Simon Fraser Reviewed by Dan Bernstein. Optimize the hierarchy rebuilding of compositing layers https://bugs.webkit.org/show_bug.cgi?id=31879 When updating the compositing layer hierarchy, instead of removing all child layers and then re-adding them one by one, build a vector of child layers, and set them in one go. * platform/graphics/GraphicsLayer.h: * platform/graphics/GraphicsLayer.cpp: (WebCore::GraphicsLayer::setChildren): New method that takes a Vector of child GraphicsLayers. * platform/graphics/mac/GraphicsLayerCA.h: Override setChildren(). * platform/graphics/win/GraphicsLayerCACF.h: Ditto. * platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::setChildren): Implement setChildren() to set the bit that notes that sublayers changed. * platform/graphics/win/GraphicsLayerCACF.cpp: (WebCore::GraphicsLayerCACF::setChildren): Implement setChildren() to udpate sublayers, with a note that this is not efficient. * rendering/RenderLayerCompositor.h: * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateCompositingLayers): When updating compositing layers, use the faster updateLayerTreeGeometry() if we know that no layer hierarchy changes are needed, and, at the root, use the vector returned from rebuildCompositingLayerTree() to attach the root layer. (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Changed to collect child layers into Vectors of GraphicsLayers, which can be set as layer children in one go. (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Split out from rebuildCompositingLayerTree() for simplicity, and called when we just need to update layer geometry, without doing any reparenting. 2009-11-29 Daniel Bates Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=31971 Updated comment to reflect latest XSSAuditor bindings. No functionality was changed. So, no new tests. * page/XSSAuditor.h: 2009-11-29 Daniel Bates Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=31969 Removes unnecessary #include files. No functionality was changed. So, no new tests. * css/CSSComputedStyleDeclaration.cpp: Removed include CachedImage.h, and Pair.h * css/CSSCursorImageValue.cpp: Removed include RenderStyle.h * css/CSSFontFaceSrcValue.cpp: Removed include Node.h * css/CSSFontSelector.cpp: Removed include NodeList.h * css/CSSGradientValue.cpp: Removed include GraphicsContext.h, ImageBuffer.h * css/CSSImageValue.cpp: Removed include RenderStyle.h * css/CSSImportRule.cpp: Removed include MediaList.h * css/CSSMutableStyleDeclaration.cpp: Removed include CSSProperty.h * css/CSSRule.cpp: Removed include CSSStyleSheet.h * css/CSSStyleSelector.cpp: Removed include CSSFontFace.h, CSSFontFaceSource.h, and CSSProperty.h * page/EventSource.h: Removed include EventListener.h 2009-11-29 Daniel Bates Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=31965 Removed #include KeyframeList.h from CSSStyleSelector.h. Instead, forward declared it. As a side effect, we need to #include KeyframeList.h in RenderLayerBacking.cpp. No functionality was changed. So, no new tests. * css/CSSStyleSelector.cpp: * css/CSSStyleSelector.h: Removed #include KeyframeList.h * rendering/RenderLayerBacking.cpp: Added #include KeyframeList.h 2009-11-29 Shu Chang Reviewed by Eric Seidel. Continue to search for matching node in the case where multiple nodes have the same id. https://bugs.webkit.org/show_bug.cgi?id=31428 Test: fast/dom/Element/id-in-node-list-index01.html * dom/DynamicNodeList.cpp: (WebCore::DynamicNodeList::itemWithName): 2009-11-29 Daniel Bates Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=31966 Removed #include RenderStyle.h from file KeyframeAnimation.h. Instead, forward declared it. No functionality was changed. So, no new tests. * page/animation/KeyframeAnimation.cpp: * page/animation/KeyframeAnimation.h: 2009-11-29 Daniel Bates Unreviewed, fix change log entry date. For some reason, bugzilla-tool did not update the date in the change log entry for my last commit (r51468). So, this commit fixes the date of that entry. 2009-11-29 Daniel Bates Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=31964 Removed #include StringImpl, StyleImage. Instead, forward declared them. Also, we can substitute #include for #include PlatformString.h, since it seems we only really used it to include PassRefPtr.h. No functionality was changed. So, no new tests. * rendering/style/ContentData.h: 2009-11-29 Zoltan Horvath Reviewed by Eric Seidel. Allow custom memory allocation control for classes of the rendering and storage directory in WebCore https://bugs.webkit.org/show_bug.cgi?id=31906 Inherits the following classes from Noncopyable because these are instantiated by 'new' and no need to be copyable: class/struct name - instantiated at: WebCore/'location' class SQLTransactionClient - storage/DatabaseThread.cpp:45 class SQLTransactionCoordinator - storage/DatabaseThread.cpp:46 class OriginUsageRecord - storage/OriginQuotaManager.cpp:66 class DatabaseTracker - storage/DatabaseTracker.cpp:62 class ScrollbarTheme - (its child class) rendering/RenderScrollbarTheme.cpp:35 class RenderSelectionInfoBase - (its child class) rendering/RenderView.cpp:310 class RenderOverflow - rendering/RenderBox.cpp:2846 Inherits the following classes from FastAllocBase because these are instantiated by 'new': struct FillLayer - css/CSSStyleSelector.cpp:197 struct ShadowData - rendering/style/ShadowData.cpp:35 class CounterContent - css/CSSStyleSelector.cpp:4111 * platform/ScrollbarTheme.h: * rendering/RenderOverflow.h: * rendering/RenderSelectionInfo.h: * rendering/style/CounterContent.h: * rendering/style/FillLayer.h: * rendering/style/ShadowData.h: * storage/DatabaseTracker.h: * storage/OriginUsageRecord.h: * storage/SQLTransactionClient.h: * storage/SQLTransactionCoordinator.h: 2009-11-28 Adam Barth Reviewed by Dimitri Glazkov. [Chromium] Sify compose button alerts error https://bugs.webkit.org/show_bug.cgi?id=31394 Test: http/tests/security/calling-versus-current.html We're supposed to use the calling context for security checks. In JSC land, this is the lexicalGlobalObject. * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::canAccessPrivate): 2009-11-27 Shinichiro Hamaji Unreviewed Chromium build fix introduced by r51428. [Chromium] Ignore line-height CSS property for PushButton https://bugs.webkit.org/show_bug.cgi?id=31712 * rendering/RenderThemeChromiumSkia.cpp: (WebCore::RenderThemeChromiumSkia::adjustButtonStyle): 2009-11-27 Shinichiro Hamaji Unreviewed Chromium test fix by reverting r51413. [v8] Do not check the thread when accessing DOMDataStore https://bugs.webkit.org/show_bug.cgi?id=31877 * bindings/v8/V8DOMMap.cpp: (WebCore::getDOMNodeMap): (WebCore::getDOMObjectMap): (WebCore::getActiveDOMObjectMap): (WebCore::getDOMSVGElementInstanceMap): (WebCore::getDOMSVGObjectWithContextMap): 2009-11-27 Daniel Bates Unreviewed, comment fix. Corrected misspelling of the word "implemented". * inspector/front-end/InjectedScriptAccess.js: 2009-11-27 Daniel Bates Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=31940 Makes the error messages more descriptive when we refuse to load an object/embed or refuse to load from the document base URL. * page/XSSAuditor.cpp: (WebCore::XSSAuditor::canLoadObject): Changed console message to be more descriptive. (WebCore::XSSAuditor::canSetBaseElementURL): Ditto. 2009-11-27 Yury Semikhatsky Reviewed by Pavel Feldman. This is a WebCore part of the fix that allows to view plugin resources loaded by plugins. https://bugs.webkit.org/show_bug.cgi?id=31832 * inspector/InspectorController.cpp: (WebCore::InspectorController::willSendRequest): (WebCore::InspectorController::didReceiveResponse): (WebCore::InspectorController::didReceiveContentLength): (WebCore::InspectorController::didFinishLoading): (WebCore::InspectorController::didFailLoading): * inspector/InspectorController.h: * inspector/InspectorResource.cpp: (WebCore::InspectorResource::addLength): * loader/ResourceLoadNotifier.cpp: (WebCore::ResourceLoadNotifier::didFailToLoad): (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): 2009-11-27 Yury Semikhatsky Reviewed by Pavel Feldman. Instead of generating negative identifiers for cached resources in InspectorController and extending identifier type from 'unsigned long' to 'long long' reuse progress tracker from the inspected page to generate those identifiers. It guarantees that InspectorResources have unique ids since all of them are generated by that progress tracker. Added a couple new overloaded methods to Script* objects that accept long and unsigned long arguments. These types of argumens have already been passed as long long. https://bugs.webkit.org/show_bug.cgi?id=31921 * bindings/js/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::appendArgument): * bindings/js/ScriptFunctionCall.h: * bindings/js/ScriptObject.cpp: (WebCore::ScriptObject::set): * bindings/js/ScriptObject.h: * bindings/v8/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::appendArgument): * bindings/v8/ScriptFunctionCall.h: * bindings/v8/ScriptObject.cpp: (WebCore::ScriptObject::set): * bindings/v8/ScriptObject.h: * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::dispatchOnInjectedScript): * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::getTrackedResource): (WebCore::InspectorController::didLoadResourceFromMemoryCache): Use inspected page's ProgressTracker to generate unique identifiers for cached resources in InspectorController. * inspector/InspectorController.h: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::buildObjectForNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addResource): (WebCore::InspectorFrontend::updateResource): (WebCore::InspectorFrontend::removeResource): (WebCore::InspectorFrontend::updateFocusedNode): * inspector/InspectorFrontend.h: * inspector/InspectorResource.cpp: (WebCore::InspectorResource::InspectorResource): (WebCore::InspectorResource::createCached): * inspector/InspectorResource.h: Change InspectorResource identifier type from 'long long' to 'unsigned long'. (WebCore::InspectorResource::create): (WebCore::InspectorResource::identifier): * inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createResourceSendRequestRecord): (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord): (WebCore::TimelineRecordFactory::createResourceFinishRecord): 2009-11-26 Shinichiro Hamaji Reviewed by Dan Bernstein. Assertion failure in RenderBlock::positionForPointWithInlineChildren when running fast/inline/relative-positioned-overflow.html https://bugs.webkit.org/show_bug.cgi?id=29966 When an empty inline element is clicked, the root inline box has no leaf children. Use the renderer of a normal child instead. This change resolves Windows port's assertion failure in a layout test. Also, this fixes the behavior when a user drags the mouse from an empty inline element to above texts. Test: editing/selection/last-empty-inline.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForPointWithInlineChildren): 2009-11-26 Kent Tamura Reviewed by Eric Seidel. [Chromium] Ignore line-height CSS property specified to push buttons on Windows and Linux. https://bugs.webkit.org/show_bug.cgi?id=31712 LayoutTests/fast/forms/control-restrict-line-height.html checks that the following controls should ignore line-height CSS property. - src to display the height and width of that image in a tooltip. Displays both the displayable and natural dimensions of the image. Test: inspector/elements-img-tooltip.html * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): Added. (WebInspector.ElementsTreeElement.prototype._updateTitle.callback): (WebInspector.ElementsTreeElement.prototype._updateTitle): (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): * inspector/front-end/ObjectProxy.js: (WebInspector.ObjectProxy.getPropertiesAsync): Added. * inspector/front-end/inspector.js: (WebInspector.linkifyURLAsNode): Added tooltipText argument. (WebInspector.linkifyURL): Ditto. 2009-11-26 Kevin Ollivier wx build fix after drawPattern API change. * platform/graphics/wx/ImageWx.cpp: (WebCore::Image::drawPattern): 2009-11-26 Anton Muhin Reviewed by Adam Barth. Use an internal field instead of hidden property to speedup lookup of entered isolated world. Plus some inlinings. https://bugs.webkit.org/show_bug.cgi?id=31884 Covered by layout tests + manual running of some benchmarks as content scripts. * bindings/v8/V8DOMWrapper.cpp: * bindings/v8/V8DOMWrapper.h: (WebCore::V8DOMWrapper::setDOMWrapper): * bindings/v8/V8HiddenPropertyName.h: * bindings/v8/V8IsolatedWorld.cpp: (WebCore::V8IsolatedWorld::V8IsolatedWorld): * bindings/v8/V8IsolatedWorld.h: (WebCore::V8IsolatedWorld::getEntered): (WebCore::V8IsolatedWorld::getGlobalObject): * bindings/v8/custom/V8CustomBinding.h: 2009-11-26 Jocelyn Turcotte Reviewed by Kenneth Rohde Christiansen. [Qt] Corrects build break on Windows. Rename platform/text/qt/TextBoundaries.cpp to TextBoundariesQt.cpp since platform/text/TextBoundaries.cpp was compiled instead when compiling with nmake. * WebCore.pro: * platform/text/qt/TextBoundariesQt.cpp: Renamed from WebCore/platform/text/qt/TextBoundaries.cpp. (WebCore::findNextWordFromIndex): (WebCore::findWordBoundary): 2009-11-26 Anton Muhin Reviewed by Adam Barth. Do not check if the thread is main or not when accessing DOMDataStore as currently in Chromium WebKit is used in main thread only. https://bugs.webkit.org/show_bug.cgi?id=31877 Covered by layout tests and buildbots. * bindings/v8/V8DOMMap.cpp: (WebCore::getDOMNodeMap): (WebCore::getDOMObjectMap): (WebCore::getActiveDOMObjectMap): (WebCore::getDOMSVGElementInstanceMap): (WebCore::getDOMSVGObjectWithContextMap): 2009-11-26 Girish Ramakrishnan Reviewed by Holger Freyther. [Qt] Mac Plugins : Pass mouse position relative to the fake window When using off-screen rendering, we need to pass mouse events relative to the fake window instead of the global position. https://bugs.webkit.org/show_bug.cgi?id=31794 * plugins/mac/PluginViewMac.cpp: (WebCore::PluginView::platformStart): (WebCore::PluginView::handleMouseEvent): 2009-11-24 Holger Hans Peter Freyther Reviewed by Eric Seidel. [Qt] Use QNetworkReply::rawHeaderPairs https://bugs.webkit.org/show_bug.cgi?id=31826 The QNetworkReply is internally storing the HTTP headers as a list of pairs. Currently we have to ask the QNetworkReply to put all header names into a QStringList. Afterwards we will iterate over this QStringList and ask the QNetworkReply to give us the value for this header name. The current Qt implementation is doing a linear to find the header value. Use a new API to directly access the list of pairs and push this into WebCore. This avoids doing some allocations and doing linear searches from within a loop. * platform/network/qt/QNetworkReplyHandler.cpp: (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 2009-11-21 Holger Hans Peter Freyther Reviewed by Kenneth Rohde Christiansen. [Qt] Add Qt specific information of RenderPart https://bugs.webkit.org/show_bug.cgi?id=31203 The WebCore::Widget of the RenderPart (RenderWidget) might be backed with a platform widget. Print both the WebCore::Widget and platform widget state. In the above bug we had a problem that the WebCore::Widget was invisible but the QWidget was visible. * rendering/RenderTreeAsText.cpp: (WebCore::operator<<): Add special case for RenderPart 2009-11-17 Holger Hans Peter Freyther Reviewed by Kenneth Rohde Christiansen. [Qt] Call Widget::setSelfVisible from hide/show https://bugs.webkit.org/show_bug.cgi?id=31203 Call Widget::setSelfVisible from Widget::show and Widget::hide and use isParentVisible to decide if the widget should be shown. This way client code can rely on isVisible. Change PluginViewQt::show, PluginViewQt::hide to call the base class as it is doing the right thing now. Add an assert verify that platfomWidget and platformPluginWidget are the same. * manual-tests/qt/qtplugin.html: Modify manual test * platform/qt/WidgetQt.cpp: (WebCore::Widget::show): (WebCore::Widget::hide): * plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::show): (WebCore::PluginView::hide): 2009-11-24 Holger Hans Peter Freyther Reviewed by Alexey Proskuryakov. Fix compilation of REQUEST_DEBUG debug code https://bugs.webkit.org/show_bug.cgi?id=31850 In r47907 the single parameter KURL constructor to parse from a WebCore::String was replaced with a two parameter constructor. I think in this debug case parsing the urls again is no problem and I have changed the code to use the two parameter version. * loader/loader.cpp: (WebCore::Loader::Host::didFinishLoading): 2009-11-26 Søren Gjesse Reviewed by Pavel Feldman. [V8] Avoid using JavaScript objects as context data https://bugs.webkit.org/show_bug.cgi?id=31873 Change the context "data" from a JavaScript object holding the two properties type and value to a string holding type and value separated by a comma. * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::setInjectedScriptContextDebugId): (WebCore::V8Proxy::setContextDebugId): (WebCore::V8Proxy::contextDebugId): 2009-11-25 Dimitri Glazkov Reviewed by David Levin. [Chromium] Implement canSetValueAttribute in the API, the clean-up part. https://bugs.webkit.org/show_bug.cgi?id=31894 * accessibility/chromium/AccessibilityObjectWrapper.h: Added RefCounted decl. (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Removed mis-refcountingness. 2009-11-25 Kenneth Russell Reviewed by Oliver Hunt. Off-by-one error in index validation for drawElements and drawArrays https://bugs.webkit.org/show_bug.cgi?id=31891 Fixed computation of number of elements for bound array objects. Test: fast/canvas/webgl/index-validation.html * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::vertexAttribPointer): 2009-11-25 Dmitry Titov Reviewed by David Levin. Update SharedScript to use eventNames() instead of EventNames() https://bugs.webkit.org/show_bug.cgi?id=31890 * SharedScript/WebKitSharedScript.cpp: (WebCore::LoadEventTask::performTask): 2009-11-25 Eric Carlson Reviewed by Simon Fraser. Windows: Support closed caption in