2010-08-10 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: move database processing to native layer. https://bugs.webkit.org/show_bug.cgi?id=43788 * English.lproj/localizedStrings.js: * WebCore.gypi: * bindings/js/JSInjectedScriptHostCustom.cpp: * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: * inspector/CodeGeneratorInspector.pm: * inspector/InjectedScript.cpp: (WebCore::InjectedScript::dispatch): * inspector/InjectedScript.h: * inspector/InjectedScriptHost.cpp: * inspector/InjectedScriptHost.h: * inspector/InjectedScriptHost.idl: * inspector/Inspector.idl: * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::dispatchOnInjectedScript): (WebCore::InspectorBackend::executeSQL): * inspector/InspectorBackend.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::connectFrontend): (WebCore::InspectorController::releaseFrontendLifetimeAgents): * inspector/InspectorController.h: * inspector/InspectorDebuggerAgent.h: * inspector/InspectorStorageAgent.cpp: Added. (WebCore::): (WebCore::InspectorStorageAgent::InspectorStorageAgent): (WebCore::InspectorStorageAgent::~InspectorStorageAgent): (WebCore::InspectorStorageAgent::executeSQL): (WebCore::InspectorStorageAgent::clearFrontend): * inspector/InspectorStorageAgent.h: Added. (WebCore::InspectorStorageAgent::create): (WebCore::InspectorStorageAgent::frontend): * inspector/front-end/Database.js: (WebInspector.Database.prototype.executeSql): (WebInspector.sqlTransactionSucceeded): (WebInspector.sqlTransactionFailed): * inspector/front-end/DatabaseQueryView.js: (WebInspector.DatabaseQueryView.prototype._queryFinished): (WebInspector.DatabaseQueryView.prototype._queryError): * inspector/front-end/DatabaseTableView.js: (WebInspector.DatabaseTableView.prototype._queryFinished): * inspector/front-end/InjectedScript.js: * inspector/front-end/InjectedScriptAccess.js: (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName): (InjectedScriptAccess._installHandler): * inspector/front-end/StoragePanel.js: (WebInspector.StoragePanel.prototype.dataGridForResult): 2010-08-10 Steve Block Reviewed by Jeremy Orlow. [V8] DeviceMotionEvent can not be used from JavaScript https://bugs.webkit.org/show_bug.cgi?id=43785 This is tested by the existing tests fast/dom/DeviceMotion/create-event.html and fast/dom/DeviceMotion/optional-event-properties.html. * bindings/v8/custom/V8EventCustom.cpp: (WebCore::toV8): 2010-08-10 Balazs Kelemen Reviewed by Antonio Gomes. [Qt] Build WebKit2 into a static lib https://bugs.webkit.org/show_bug.cgi?id=43621 Just build changes so no new tests. * WebCore.pri: Moved feature detection logic into features.pri since we need this in WebKit2.pro as well. * WebCore.pro: Moved the specification of the WebKit2 build to WebKit2.pro. Link against the static lib. * features.pri: Added. 2010-08-10 Yury Semikhatsky Reviewed by Pavel Feldman. Web Inspector, Chromium: reloading of inspected page hits assert in InspectorController::enableDebuggerFromFrontend() https://bugs.webkit.org/show_bug.cgi?id=43780 * inspector/CodeGeneratorInspector.pm: * inspector/InspectorController.cpp: (WebCore::InspectorController::enableDebuggerFromFrontend): * inspector/InspectorController.h: (WebCore::InspectorController::hasFrontend): * inspector/InspectorDebuggerAgent.cpp: (WebCore::InspectorDebuggerAgent::create): (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): (WebCore::InspectorDebuggerAgent::didParseSource): (WebCore::InspectorDebuggerAgent::failedToParseSource): (WebCore::InspectorDebuggerAgent::didPause): (WebCore::InspectorDebuggerAgent::didContinue): * inspector/InspectorDebuggerAgent.h: 2010-08-10 Tor Arne Vestbø Reviewed by Simon Hausmann. Make sure NPAPI plugins get an initial setNPWindow on Mac https://bugs.webkit.org/show_bug.cgi?id=43782 * plugins/mac/PluginViewMac.mm: 2010-08-10 Dirk Schulze Reviewed by Nikolas Zimmermann. Use SVGPathParser to create SVG paths and to perform path animations https://bugs.webkit.org/show_bug.cgi?id=43696 Removed toString() functions in all SVGPathSeg* objects as well as toPath() in SVGPathSegList. These hacks were used to create a SVG path data string or a platform path from a SVGPathSegList. Use the new SVGPathParser instead. Doesn't affect any tests. * svg/SVGAnimateElement.cpp: (WebCore::SVGAnimateElement::applyResultsToTarget): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::toPathData): * svg/SVGPathParserFactory.cpp: (WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList): (WebCore::SVGPathParserFactory::buildStringFromByteStream): (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList): * svg/SVGPathParserFactory.h: * svg/SVGPathSeg.cpp: * svg/SVGPathSeg.h: * svg/SVGPathSegArc.cpp: * svg/SVGPathSegArc.h: * svg/SVGPathSegClosePath.h: (WebCore::SVGPathSegClosePath::pathSegTypeAsLetter): * svg/SVGPathSegCurvetoCubic.h: * svg/SVGPathSegCurvetoCubicSmooth.h: * svg/SVGPathSegCurvetoQuadratic.h: * svg/SVGPathSegLinetoHorizontal.h: * svg/SVGPathSegLinetoVertical.h: * svg/SVGPathSegList.cpp: (WebCore::SVGPathSegList::getPathSegAtLength): * svg/SVGPathSegList.h: 2010-08-10 Sheriff Bot Unreviewed, rolling out r65056. http://trac.webkit.org/changeset/65056 https://bugs.webkit.org/show_bug.cgi?id=43773 "Clearly I missed something. I'm too tired to try and fix now. Will re-land in the morning." (Requested by eseidel on #webkit). * html/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::attach): * html/HTMLElement.cpp: (WebCore::HTMLElement::insertAdjacentHTML): * html/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::processEndTagForInCell): 2010-08-10 Yoshiki Hayashi Reviewed by Kent Tamura. Iterate over :first-letter so that it will be included in innerText. https://bugs.webkit.org/show_bug.cgi?id=39863 Test: fast/dom/inner-text-first-letter.html * editing/TextIterator.cpp: (WebCore::TextIterator::TextIterator): (WebCore::TextIterator::advance): (WebCore::TextIterator::handleTextNode): (WebCore::TextIterator::handleTextBox): (WebCore::TextIterator::emitText): * editing/TextIterator.h: 2010-08-10 Kent Tamura Reviewed by Darin Adler. Fix crashes by SelectionController::modify(). https://bugs.webkit.org/show_bug.cgi?id=43032 Test: editing/selection/selection-modify-crash.html * editing/visible_units.cpp: (WebCore::endOfDocument): Add NULL-check for document()->documentElement(). 2010-08-10 Dirk Schulze Reviewed by Nikolas Zimmermann. Add missing SVGPathSegList source for SVGPathParser https://bugs.webkit.org/show_bug.cgi?id=43691 Added SVGPathSegListSource to parse normalized or unaltered SVGPathSegLists and transform them to either a SVG path string, or a SVGPathByteStream. This will be needed to synchronize all SVGPathSegLists and the SVG path string of the 'd' attribute. Refactored SVGPathSource code, to read concrete path segments instead of type/flag/coordinates from the data sources. This is a further abstraction and seperates the reading of content from the parsing and interpreting. Doesn't affect any tests. * Android.mk: * CMakeLists.txt: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * svg/SVGAllInOne.cpp: * svg/SVGPathByteStreamSource.cpp: (WebCore::SVGPathByteStreamSource::parseSVGSegmentType): (WebCore::SVGPathByteStreamSource::nextCommand): (WebCore::SVGPathByteStreamSource::parseMoveToSegment): (WebCore::SVGPathByteStreamSource::parseLineToSegment): (WebCore::SVGPathByteStreamSource::parseLineToHorizontalSegment): (WebCore::SVGPathByteStreamSource::parseLineToVerticalSegment): (WebCore::SVGPathByteStreamSource::parseCurveToCubicSegment): (WebCore::SVGPathByteStreamSource::parseCurveToCubicSmoothSegment): (WebCore::SVGPathByteStreamSource::parseCurveToQuadraticSegment): (WebCore::SVGPathByteStreamSource::parseCurveToQuadraticSmoothSegment): (WebCore::SVGPathByteStreamSource::parseArcToSegment): * svg/SVGPathByteStreamSource.h: (WebCore::SVGPathByteStreamSource::moveToNextToken): * svg/SVGPathParser.cpp: (WebCore::SVGPathParser::parseMoveToSegment): (WebCore::SVGPathParser::parseLineToSegment): (WebCore::SVGPathParser::parseLineToHorizontalSegment): (WebCore::SVGPathParser::parseLineToVerticalSegment): (WebCore::SVGPathParser::parseCurveToCubicSegment): (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment): (WebCore::SVGPathParser::parseCurveToQuadraticSegment): (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment): (WebCore::SVGPathParser::parseArcToSegment): * svg/SVGPathSegListSource.cpp: Added. (WebCore::SVGPathSegListSource::SVGPathSegListSource): (WebCore::SVGPathSegListSource::~SVGPathSegListSource): (WebCore::SVGPathSegListSource::hasMoreData): (WebCore::SVGPathSegListSource::parseSVGSegmentType): (WebCore::SVGPathSegListSource::nextCommand): (WebCore::SVGPathSegListSource::parseMoveToSegment): (WebCore::SVGPathSegListSource::parseLineToSegment): (WebCore::SVGPathSegListSource::parseLineToHorizontalSegment): (WebCore::SVGPathSegListSource::parseLineToVerticalSegment): (WebCore::SVGPathSegListSource::parseCurveToCubicSegment): (WebCore::SVGPathSegListSource::parseCurveToCubicSmoothSegment): (WebCore::SVGPathSegListSource::parseCurveToQuadraticSegment): (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment): (WebCore::SVGPathSegListSource::parseArcToSegment): * svg/SVGPathSegListSource.h: Added. (WebCore::SVGPathSegListSource::create): (WebCore::SVGPathSegListSource::moveToNextToken): * svg/SVGPathSource.h: * svg/SVGPathStringSource.cpp: (WebCore::SVGPathStringSource::parseMoveToSegment): (WebCore::SVGPathStringSource::parseLineToSegment): (WebCore::SVGPathStringSource::parseLineToHorizontalSegment): (WebCore::SVGPathStringSource::parseLineToVerticalSegment): (WebCore::SVGPathStringSource::parseCurveToCubicSegment): (WebCore::SVGPathStringSource::parseCurveToCubicSmoothSegment): (WebCore::SVGPathStringSource::parseCurveToQuadraticSegment): (WebCore::SVGPathStringSource::parseCurveToQuadraticSmoothSegment): (WebCore::SVGPathStringSource::parseArcToSegment): * svg/SVGPathStringSource.h: 2010-08-09 Ilya Tikhonovsky Reviewed by Yury Semikhatsky. Web Inspector: small refactoring for CodeGeneratorInspector. A number of push calls were replaced by embedded text. Just for improve code readability. https://bugs.webkit.org/show_bug.cgi?id=43770 * inspector/CodeGeneratorInspector.pm: 2010-08-09 Eric Seidel Reviewed by Adam Barth. Fix three ASSERTs hit with the HTML5 TreeBuilder in fragment mode https://bugs.webkit.org/show_bug.cgi?id=43762 In fixing the insertAdjacentHTML I had to make small changes to the error logic, which ended up bringing us closer to HTML5. Test: fast/dom/HTMLElement/insertAdjacentHTML-errors.html * html/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::attach): - This ASSERT was just wrong, the child should not be attached in the case the parent is not attached. * html/HTMLElement.cpp: (WebCore::contextElementForInsertion): - This is part of HTML5, needed to know what to call the HTML or XML parsers with. The previous code always passed "this" which is wrong in the case of beforeBegin or afterEnd insertion. (WebCore::HTMLElement::insertAdjacentHTML): - Use the right contextElement now that we know how to compute it. * html/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::processEndTagForInCell): - This ASSERT is direct from the spec, but it's wrong, so I've filed a spec bug. 2010-08-09 Yury Semikhatsky Reviewed by Pavel Feldman. Web Inspector: remove InspectorFrontend class and use RemoteInspectorFrontend instead. https://bugs.webkit.org/show_bug.cgi?id=43726 * CMakeLists.txt: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * inspector/InspectorController.cpp: (WebCore::InspectorController::connectFrontend): (WebCore::InspectorController::close): (WebCore::InspectorController::disconnectFrontend): * inspector/InspectorController.h: * inspector/InspectorFrontend.cpp: Removed. * inspector/InspectorFrontend.h: Removed. 2010-08-09 Ilya Tikhonovsky Reviewed by Pavel Feldman. Web Inspector: Remove obsolete JS wrappers for did* methods. https://bugs.webkit.org/show_bug.cgi?id=43738 * inspector/CodeGeneratorInspector.pm: * inspector/Inspector.idl: * inspector/front-end/BreakpointManager.js: * inspector/front-end/Callback.js: * inspector/front-end/ConsoleView.js: * inspector/front-end/DOMAgent.js: * inspector/front-end/DOMStorage.js: * inspector/front-end/Database.js: * inspector/front-end/InjectedScriptAccess.js: * inspector/front-end/ProfilesPanel.js: * inspector/front-end/ResourcesPanel.js: * inspector/front-end/ScriptView.js: * inspector/front-end/ScriptsPanel.js: * inspector/front-end/inspector.js: (WebInspector.reportProtocolError): 2010-08-09 Gavin Barraclough Qt build fix attempt VIII. * dom/QualifiedName.cpp: (WebCore::QualifiedName::toString): * dom/XMLDocumentParserQt.cpp: (WebCore::handleElementNamespaces): 2010-08-09 Gavin Barraclough Qt build fix attempt VII. * dom/QualifiedName.cpp: (WebCore::QualifiedName::toString): * dom/XMLDocumentParserQt.cpp: (WebCore::handleElementNamespaces): 2010-08-09 Gavin Barraclough Qt build fix attempt VI. * dom/QualifiedName.cpp: (WebCore::QualifiedName::toString): * dom/XMLDocumentParserQt.cpp: (WebCore::handleElementNamespaces): 2010-08-09 Gavin Barraclough Qt build fix attempt V. * dom/QualifiedName.cpp: (WebCore::QualifiedName::toString): * dom/XMLDocumentParserQt.cpp: (WebCore::handleElementNamespaces): 2010-08-09 Gavin Barraclough Qt build fix attempt IV. * css/CSSSelector.cpp: (WebCore::CSSSelector::selectorText): * dom/QualifiedName.cpp: (WebCore::QualifiedName::toString): * dom/XMLDocumentParserQt.cpp: (WebCore::handleElementNamespaces): 2010-08-09 Gavin Barraclough Speculative chromium build fix. * platform/graphics/chromium/FontCacheChromiumWin.cpp: (WebCore::charactersAreAllASCII): 2010-08-09 Gavin Barraclough Qt build fix III. * css/CSSSelector.cpp: 2010-08-09 Adam Barth Reviewed by Eric Seidel. Remove error-prone external SegementedSubstring contructor https://bugs.webkit.org/show_bug.cgi?id=43752 There's a lot of code that assumes that SegmentedString takes ownership of its substrings. For example, when the HTML parser pauses and resumes asynchronously, it could explode if SegmentedString didn't own its substrings. Prior to this patch, there was a constructor that let SegmentedSubstring use an external string buffer. It turns out it was only used in a handful of places, but I'd rather pay the memcpy of these small strings than risk having them used after free. * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::documentWrite): * html/LegacyHTMLDocumentParser.cpp: (WebCore::LegacyHTMLDocumentParser::parseNonHTMLText): (WebCore::LegacyHTMLDocumentParser::scriptHandler): (WebCore::LegacyHTMLDocumentParser::parseComment): * platform/text/SegmentedString.h: (WebCore::SegmentedString::SegmentedString): 2010-08-09 Gavin Barraclough Speculative Qt build fix. * css/CSSSelector.cpp: 2010-08-09 Gavin Barraclough Speculative gtk build fix. * plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::handlePostReadFile): 2010-08-06 Gavin Barraclough Rubber stamped by Sam Weinig Bug 43594 - Add string forwards to Forward.h This allows us to remove forward declarations for these classes from WebCore/WebKit (a step in moving these class from WebCore:: to WTF::). * WebCore.xcodeproj/project.pbxproj: * accessibility/AXObjectCache.h: * accessibility/AccessibilityARIAGrid.h: * accessibility/AccessibilityListBoxOption.h: * accessibility/AccessibilityObject.h: * accessibility/AccessibilityRenderObject.h: * accessibility/AccessibilityTable.h: * bindings/cpp/WebDOMCString.h: * bindings/cpp/WebDOMString.h: * bindings/gobject/ConvertToUTF8String.h: * bindings/js/DOMWrapperWorld.h: * bindings/js/JSDOMBinding.h: * bindings/js/JSDOMWindowBase.h: * bindings/js/JSMessagePortCustom.h: * bindings/js/JavaScriptCallFrame.h: * bindings/js/ScriptController.h: * bindings/js/ScriptProfile.h: * bindings/js/ScriptSourceProvider.h: * bindings/js/ScriptString.h: * bindings/js/WorkerScriptController.h: * bindings/objc/DOMImplementationFront.h: * bindings/v8/ScheduledAction.h: * bindings/v8/ScriptController.h: * bindings/v8/V8DOMWindowShell.h: * bindings/v8/V8Proxy.h: * bindings/v8/V8Utilities.h: * bindings/v8/custom/V8CustomXPathNSResolver.h: * bridge/c/c_utility.h: * css/CSSFontSelector.h: * css/CSSHelper.h: * css/CSSOMUtils.h: * css/CSSPrimitiveValue.h: * css/MediaList.h: * css/StyleBase.h: * css/StyleSheetList.h: * css/WebKitCSSKeyframesRule.h: * dom/CheckedRadioButtons.h: * dom/DOMImplementation.h: * dom/DocumentMarker.h: * dom/DynamicNodeList.h: * dom/EventTarget.h: * dom/MessagePort.h: * dom/MessagePortChannel.h: * dom/NameNodeList.h: * dom/Node.h: * dom/NodeList.h: * dom/OptionGroupElement.h: * dom/ScriptExecutionContext.h: * dom/SelectElement.h: * dom/ViewportArguments.h: * dom/make_names.pl: * editing/HTMLInterchange.h: * editing/htmlediting.h: * editing/markup.h: * html/CollectionCache.h: * html/DOMFormData.h: * html/DataGridColumnList.h: * html/DateComponents.h: * html/FileStream.h: * html/FileStreamProxy.h: * html/FormDataList.h: (WebCore::FormDataList::appendData): * html/HTMLCollection.h: * html/HTMLElementStack.h: * html/HTMLFormattingElementList.h: * html/HTMLParserQuirks.h: * html/HTMLQuoteElement.h: * html/HTMLScriptRunnerHost.h: * html/StepRange.h: * html/canvas/CanvasGradient.h: * html/canvas/CanvasNumberArray.h: * html/canvas/CanvasPattern.h: * inspector/InjectedScript.h: * inspector/InspectorCSSStore.h: * inspector/InspectorClient.h: * inspector/InspectorFrontendClient.h: * inspector/InspectorValues.h: * inspector/ScriptDebugListener.h: * loader/CachedResourceClient.h: * loader/CrossOriginAccessControl.h: * loader/DocumentThreadableLoader.h: * loader/FrameLoaderClient.h: * loader/RedirectScheduler.h: * loader/SubframeLoader.h: * loader/appcache/DOMApplicationCache.h: * loader/archive/ArchiveFactory.h: * loader/icon/IconDatabaseClient.h: * notifications/NotificationPresenter.h: * page/Chrome.h: * page/ChromeClient.h: * page/Console.h: * page/ContextMenuClient.h: * page/DOMSelection.h: * page/EditorClient.h: * page/EventHandler.h: * page/FrameView.h: * page/GeolocationPositionCache.h: * page/History.h: * page/Location.h: * page/Navigator.h: * page/NavigatorBase.h: * page/PluginHalterClient.h: * page/PrintContext.h: * page/SpeechInput.h: * page/SpeechInputListener.h: * page/animation/AnimationController.h: * platform/CookieJar.h: * platform/CrossThreadCopier.h: * platform/DragImage.h: * platform/FileSystem.h: * platform/Language.h: * platform/Length.h: * platform/LinkHash.h: * platform/LocalizationStrategy.h: * platform/LocalizedStrings.h: * platform/Logging.h: * platform/Pasteboard.h: * platform/PopupMenuClient.h: * platform/SearchPopupMenu.h: * platform/Widget.h: * platform/cf/BinaryPropertyList.h: * platform/chromium/ChromiumBridge.h: * platform/chromium/ClipboardUtilitiesChromium.h: * platform/cocoa/KeyEventCocoa.h: * platform/graphics/Color.h: * platform/graphics/FontCache.h: * platform/graphics/FontData.h: * platform/graphics/FontSelector.h: * platform/graphics/GraphicsTypes.h: * platform/graphics/Icon.h: * platform/graphics/ImageBuffer.h: * platform/graphics/ImageSource.h: * platform/graphics/MediaPlayer.h: * platform/graphics/MediaPlayerPrivate.h: * platform/graphics/Path.h: * platform/graphics/StringTruncator.h: * platform/graphics/cairo/FontCustomPlatformData.h: * platform/graphics/cairo/FontPlatformData.h: * platform/graphics/cg/FontPlatformData.h: * platform/graphics/cg/ImageSourceCG.h: * platform/graphics/chromium/FontCustomPlatformData.h: * platform/graphics/chromium/FontPlatformDataChromiumWin.h: * platform/graphics/chromium/FontPlatformDataLinux.h: * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: * platform/graphics/haiku/FontCustomPlatformData.h: * platform/graphics/mac/FontCustomPlatformData.h: * platform/graphics/mac/FontPlatformData.h: * platform/graphics/qt/FontCustomPlatformData.h: * platform/graphics/qt/FontPlatformData.h: * platform/graphics/win/FontCustomPlatformData.h: * platform/graphics/win/FontCustomPlatformDataCairo.h: * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: * platform/graphics/wince/FontPlatformData.h: * platform/graphics/wince/MediaPlayerPrivateWince.h: * platform/graphics/wince/MediaPlayerProxy.h: * platform/graphics/wx/FontCustomPlatformData.h: * platform/graphics/wx/FontPlatformData.h: * platform/mac/PasteboardHelper.h: * platform/network/DNS.h: * platform/network/FormData.h: * platform/network/FormDataBuilder.h: * platform/network/HTTPParsers.h: * platform/text/Hyphenation.h: * platform/text/LineEnding.h: * platform/text/TextCodec.h: * platform/text/TextEncoding.h: * platform/text/TextStream.h: * platform/win/BString.h: * platform/win/ClipboardUtilitiesWin.h: * platform/win/WCDataObject.h: * platform/win/WebCoreTextRenderer.h: * plugins/DOMMimeType.h: * plugins/DOMMimeTypeArray.h: * plugins/DOMPlugin.h: * plugins/DOMPluginArray.h: * rendering/CounterNode.h: * rendering/HitTestResult.h: * rendering/RenderObjectChildList.h: * rendering/RenderText.h: * rendering/RenderTreeAsText.h: * rendering/TextControlInnerElements.h: * rendering/style/ContentData.h: * rendering/style/RenderStyle.h: * storage/DatabaseAuthorizer.h: * storage/DatabaseTrackerClient.h: * storage/SQLTransaction.h: * storage/SQLTransactionSync.h: * storage/Storage.h: * storage/chromium/DatabaseObserver.h: * svg/SVGAnimatedTemplate.h: * svg/SVGDocumentExtensions.h: * svg/SVGGlyphElement.h: * svg/SVGHKernElement.h: * svg/SVGNumberList.h: * svg/SVGPointList.h: * svg/SVGPreserveAspectRatio.h: * svg/SVGStylable.h: * svg/SVGTests.h: * svg/SVGTransformList.h: * svg/SVGTransformable.h: * svg/SVGVKernElement.h: * websockets/ThreadableWebSocketChannel.h: * websockets/ThreadableWebSocketChannelClientWrapper.h: * websockets/WebSocket.h: * websockets/WebSocketChannel.h: * websockets/WebSocketHandshakeResponse.h: * wml/WMLErrorHandling.h: * wml/WMLPageState.h: * wml/WMLVariables.h: * workers/DefaultSharedWorkerRepository.h: * workers/SharedWorkerRepository.h: * workers/Worker.h: * workers/WorkerContextProxy.h: * workers/WorkerLoaderProxy.h: * workers/WorkerLocation.h: * workers/WorkerMessagingProxy.h: * workers/WorkerReportingProxy.h: * workers/WorkerThread.h: * xml/DOMParser.h: * xml/XMLHttpRequestUpload.h: * xml/XPathEvaluator.h: * xml/XPathExpression.h: * xml/XPathNSResolver.h: * xml/XPathResult.h: * xml/XPathUtil.h: 2010-08-09 Nat Duca Reviewed by Dimitri Glazkov. [chromium] Blue line visible at the right hand side of the window with accelerated compositor https://bugs.webkit.org/show_bug.cgi?id=43748 Correct the ortho projection matrix for the root layer, which was too large by 0.5px in both width and height. For even view sizes, this would cause the viewport to appear 1 pixel too small. Fixing this requires removal of several 0.5 correction factors that were previously added to compensate for the too-large viewport. Finally, compute the translation for the root layer quad using floating point rather than integer arithmetic. This avoids us losing a key half-pixel of translation when the width of the window is odd. To test, size window to even/odd dimensions. No blue line should be visible. * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::drawLayers): 2010-08-09 Ryosuke Niwa Reviewed by Justin Garcia. fontColorChangesComputedStyle, fontSizeChangesComputedStyle, and fontFaceChangesComputedStyle should be removed https://bugs.webkit.org/show_bug.cgi?id=43465 Removed fontColorChangesComputedStyle, fontSizeChangesComputedStyle, and fontFaceChangesComputedStyle because StyleChange's applyFontColor, applyFontFace, and applyFontSize all return false if there was no difference between the new font color, font size, font face and that of the computed style. Also added a work-around for the bug 28282 in getPropertiesNotInComputedStyle with a test so that the above change will not add a redundant font or span element. Test: editing/style/fore-color-by-name.html * editing/ApplyStyleCommand.cpp: (WebCore::getRGBAFontColor): Added. (WebCore::StyleChange::extractTextStyles): Calls getRGBAFontColor. (WebCore::getPropertiesNotInComputedStyle): Removes color property manually by checking the RGBA values. (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): See above. 2010-08-09 Kenneth Russell Reviewed by David Levin. Fix compilation of VideoLayerChromium on Mac OS X with compositor https://bugs.webkit.org/show_bug.cgi?id=43757 No new tests; build fix only (associated functionality not implemented yet). * platform/graphics/chromium/VideoLayerChromium.cpp: (WebCore::VideoLayerChromium::VideoLayerChromium): (WebCore::VideoLayerChromium::updateTextureContents): (WebCore::VideoLayerChromium::createTextureRect): (WebCore::VideoLayerChromium::updateTextureRect): * platform/graphics/chromium/VideoLayerChromium.h: 2010-08-09 Ariya Hidayat Reviewed by Kenneth Rohde Christiansen. [Qt] Need to implement GraphicsContextQt::clipConvexPolygon() https://bugs.webkit.org/show_bug.cgi?id=41310 Based on the prototype code by Simon Hausmann. * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::clipConvexPolygon): * rendering/RenderObject.h: 2010-08-09 Chris Fleizach Reviewed by David Kilzer. AX: Placeholder value for text fields not exposed like it should be https://bugs.webkit.org/show_bug.cgi?id=43598 * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::placeholderValue): * accessibility/AccessibilityObject.h: * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::title): * accessibility/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper accessibilityAttributeNames]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 2010-08-09 Ryosuke Niwa Reviewed by Justin Garcia. Undo fails in RemoveCSSPropertyCommand when the corresponding style attribute is removed https://bugs.webkit.org/show_bug.cgi?id=43639 The bug was caused when RemoveCSSPropertyCommand is called with CSSMutableStyleDeclaration of some styled element, and the style attribute of the element is removed subsequently. When the attribute removal is undone, new instance of CSSMutableStyleDeclaration is created and RemoveCSSPropertyCommand's m_style became detached from the element. Modified RemoveCSSPropertyCommand to store the styled element directly instead of its CSSMutableStyleDeclaration. Test: editing/undo/remove-css-property-and-remove-style.html * WebCore.order: * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::removeCSSStyle): Calls removeCSSProperty. (WebCore::ApplyStyleCommand::extractTextDecorationStyle): Calls removeCSSProperty. * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::removeCSSProperty): Takes StyledElement instead of CSSMutableStyleDeclaration. * editing/CompositeEditCommand.h: * editing/RemoveCSSPropertyCommand.cpp: (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand): Takes StyledElement instead of CSSMutableStyleDeclaration. (WebCore::RemoveCSSPropertyCommand::doApply): See above. (WebCore::RemoveCSSPropertyCommand::doUnapply): See above. * editing/RemoveCSSPropertyCommand.h: (WebCore::RemoveCSSPropertyCommand::create): See above. 2010-08-09 Ryosuke Niwa Reviewed by Tony Chang. Use getIdentifierValue to obtain direction and unicode-bidi properties in ApplyStyleCommand https://bugs.webkit.org/show_bug.cgi?id=43699 Deployed getIdentifierValue in various parts of ApplyStyleCommand where direction and unicode-bidi properties were obtained manually. No new tests since this is a cleanup. * editing/ApplyStyleCommand.cpp: (WebCore::getIdentifierValue): Takes CSSStyleDeclaration instead of CSSMutableStyleDeclaration. (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Calls getIdentifierValue. (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Calls getIdentifierValue. (WebCore::ApplyStyleCommand::applyInlineStyle): Calls getIdentifierValue. * editing/ApplyStyleCommand.h: 2010-08-09 Adam Barth Reviewed by Eric Seidel. Remove trailing whitespace in HTMLViewSourceDocument.cpp https://bugs.webkit.org/show_bug.cgi?id=43741 No behavior change. The whitespace was distracting me while porting this class to the new parser. * html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createContainingTable): (WebCore::HTMLViewSourceDocument::addViewSourceToken): (WebCore::HTMLViewSourceDocument::addLine): (WebCore::HTMLViewSourceDocument::addText): (WebCore::HTMLViewSourceDocument::addLink): 2010-08-09 Eric Seidel Reviewed by Adam Barth. Use the HTML5 TreeBuilder for Fragment Parsing https://bugs.webkit.org/show_bug.cgi?id=43586 The bulk of this change is just a transcription of the HTML5 spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#fragment-case DocumentParser() now sets the right tokenizer state before handling fragments. Since default code path uses the HTML5 tokenizer with the legacy tree builder, this fixes 2 tokenizer-state tests for the html5lib. This fixes 2 more tree-builder tests when the html5 treebuilder is enabled too. * dom/DocumentFragment.cpp: (WebCore::DocumentFragment::parseHTML): - HTML5 implementation of fragment parsing requires the context element (parent) pointer. The legacy implementation handles all parsing branches which require the context element outside of the parser itself, which likely produces "wrong" results. We'll remove those branches when we turn on the HMTL5 fragment parser. (WebCore::DocumentFragment::parseXML): - Rename "parent" to "contextElement" to match the HTML path (and the HTML5 spec). * dom/DocumentFragment.h: * dom/Element.cpp: (WebCore::Element::createContextualFragment): - Pass the contextElement (this). * html/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::setForm): - Needed by for the fragment case. (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody): - I'm not sure this method should exist, it only has one caller. but for now, I've moved the fragment case FIXME out to the one caller and implemented it. * html/HTMLConstructionSite.h: * html/HTMLDocumentParser.cpp: (WebCore::HTMLNames::tokenizerStateForContextElement): - Part of the fragment case handling for the HTML5 parser. (WebCore::HTMLDocumentParser::HTMLDocumentParser): - Set the Tokenizer state based on the contextElement. (WebCore::HTMLDocumentParser::parseDocumentFragment): - Take a contextElement argument. * html/HTMLDocumentParser.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerHTML): - Added a FIXME before the branches the old parser used to avoid ever needing to pass a context element when parsing HTML fragments. (WebCore::HTMLElement::insertAdjacentHTML): - Pass the context element. * html/HTMLTokenizer.h: * html/HTMLTreeBuilder.cpp: - I added a new helper class FragmentParsingContext to simplify the two HTMLTreeBuilder constructors and hide the existence of m_dummyDocumentForFragmentParse. - I also removed m_isParsingFragment and replaced it with an isParsingFragment() function. (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): (WebCore::HTMLTreeBuilder::FragmentParsingContext::document): (WebCore::HTMLTreeBuilder::FragmentParsingContext::~FragmentParsingContext): (WebCore::HTMLTreeBuilder::passTokenToLegacyParser): (WebCore::HTMLTreeBuilder::processStartTagForInBody): - I had to implement two notImplemented() states in order to get most of the layout tests to pass when using the HTML5 parser fragment case. (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup): (WebCore::HTMLTreeBuilder::processStartTagForInTable): (WebCore::HTMLTreeBuilder::processStartTag): (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): (WebCore::HTMLTreeBuilder::processEndTagForInTableBody): (WebCore::HTMLTreeBuilder::processEndTagForInRow): (WebCore::HTMLTreeBuilder::processEndTagForInCell): (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption): (WebCore::HTMLTreeBuilder::processTrEndTagForInRow): (WebCore::HTMLTreeBuilder::processTableEndTagForInTable): (WebCore::HTMLTreeBuilder::processEndTag): (WebCore::HTMLTreeBuilder::processCharacterBuffer): (WebCore::HTMLTreeBuilder::processEndOfFile): (WebCore::HTMLTreeBuilder::finished): - The HTML5 parsing algorithm fragment case uses a dummy document to handle all the parsing and then moves all the children from the dummy document over into a DocumentFragment when the parse is done. We could avoid this adopt step by making the TreeBuilder a bit more complicated, but I'm not sure that's necessary (yet). * html/HTMLTreeBuilder.h: (WebCore::HTMLTreeBuilder::isParsingFragment): (WebCore::HTMLTreeBuilder::FragmentParsingContext::fragment): (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): (WebCore::HTMLTreeBuilder::FragmentParsingContext::scriptingPermission): * xml/XSLTProcessor.cpp: (WebCore::createFragmentFromSource): 2010-08-09 Dumitru Daniliuc Reviewed by Adam Barth. Auto-generate most HTML5 DB bindings. https://bugs.webkit.org/show_bug.cgi?id=43382 * Android.jscbindings.mk: Remove {JS|V8}Database{Sync}Custom.cpp and the custom implementations of openDatabase{Sync}(). * Android.v8bindings.mk: * CMakeLists.txt: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSBindingsAllInOne.cpp: * bindings/js/JSDOMWindowCustom.cpp: * bindings/js/JSDatabaseCustom.cpp: Removed. * bindings/js/JSDatabaseSyncCustom.cpp: Removed. * bindings/js/JSWorkerContextCustom.cpp: * bindings/v8/custom/V8DOMWindowCustom.cpp: * bindings/v8/custom/V8DatabaseCustom.cpp: Removed. * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Removed. * bindings/v8/custom/V8WorkerContextCustom.cpp: * bindings/scripts/CodeGeneratorGObject.pm: Change the code generators to check that each value can be converted to the respective argument type. * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorV8.pm: * bindings/scripts/test/JS/JSTestCallback.cpp: (WebCore::JSTestCallback::~JSTestCallback): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionIdbKey): (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException): (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg): (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture): (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4): * bindings/scripts/test/V8/V8TestObj.cpp: (WebCore::TestObjInternal::voidMethodWithArgsCallback): (WebCore::TestObjInternal::intMethodWithArgsCallback): (WebCore::TestObjInternal::objMethodWithArgsCallback): (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback): (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback): (WebCore::TestObjInternal::idbKeyCallback): (WebCore::TestObjInternal::customArgsAndExceptionCallback): (WebCore::TestObjInternal::withDynamicFrameAndArgCallback): (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback): (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback): (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback): (WebCore::TestObjInternal::methodWithOptionalArgCallback): (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback): (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback): (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback): (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback): (WebCore::TestObjInternal::overloadedMethod1Callback): (WebCore::TestObjInternal::overloadedMethod2Callback): (WebCore::TestObjInternal::overloadedMethod3Callback): (WebCore::TestObjInternal::overloadedMethod4Callback): (WebCore::): (WebCore::ConfigureV8TestObjTemplate): * bindings/v8/custom/V8BindingMacros.h: * bindings/v8/V8Binding.h: Minor changes required to support the auto-generated bindings. (WebCore::V8Parameter::V8Parameter): * bindings/v8/custom/V8SQLTransactionCustom.cpp: (WebCore::V8SQLTransaction::executeSqlCallback): * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp: (WebCore::V8SQLTransactionSync::executeSqlCallback): * page/DOMWindow.idl: * storage/Database.cpp: (WebCore::Database::transaction): (WebCore::Database::readTransaction): (WebCore::Database::runTransaction): * storage/Database.h: * storage/Database.idl: * storage/DatabaseSync.cpp: (WebCore::DatabaseSync::transaction): (WebCore::DatabaseSync::readTransaction): (WebCore::DatabaseSync::runTransaction): * storage/DatabaseSync.h: * storage/DatabaseSync.idl: * workers/WorkerContext.idl: 2010-08-09 Adam Barth Reviewed by Eric Seidel. Move HTMLViewSourceDocument from legacyParserAddChild to parserAddChild https://bugs.webkit.org/show_bug.cgi?id=43740 This removes the DTD checks, which aren't needed for view source documents. * html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createContainingTable): (WebCore::HTMLViewSourceDocument::addSpanWithClassName): (WebCore::HTMLViewSourceDocument::addLine): (WebCore::HTMLViewSourceDocument::addText): (WebCore::HTMLViewSourceDocument::addLink): 2010-08-09 Dan Bernstein Reviewed by Simon Fraser. Fixed an uninitialized member variable in the Color(CGColorRef) constructor. * platform/graphics/cg/ColorCG.cpp: (WebCore::Color::Color): Initialize m_valid to true if the color is not 0. 2010-08-09 James Robinson Chromium compile fix, unreviewed. * platform/graphics/skia/PlatformContextSkia.cpp: (WebCore::PlatformContextSkia::~PlatformContextSkia): (WebCore::PlatformContextSkia::setGraphicsContext3D): 2010-08-09 James Robinson Reviewed by Dimitri Glazkov. [chromium] Add a PrepareTextureCallback to the chromium canvas layer compositor to upload mixed-mode results before compositing https://bugs.webkit.org/show_bug.cgi?id=43656 When compositing an accelerated canvas that is using both hardware and software drawing, we need a callback before compositing the layer to make sure that we upload any software drawn results to the texture. This will go away as soon as implement all draw calls in hardware. To test, run any canvas demo that runs in mixed mode and verifies that the software results always show up. * platform/graphics/chromium/CanvasLayerChromium.cpp: (WebCore::CanvasLayerChromium::updateTextureContents): * platform/graphics/chromium/CanvasLayerChromium.h: (WebCore::CanvasLayerChromium::setPrepareTextureCallback): * platform/graphics/skia/PlatformContextSkia.cpp: (WebCore::PrepareTextureCallbackImpl::create): (WebCore::PrepareTextureCallbackImpl::willPrepareTexture): (WebCore::PrepareTextureCallbackImpl::PrepareTextureCallbackImpl): (WebCore::PlatformContextSkia::setGraphicsContext3D): 2010-08-09 Zhenyao Mo Reviewed by David Levin. sizeInBytes should be removed https://bugs.webkit.org/show_bug.cgi?id=43693 * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::sizeInBytes): Don't generate GL errors. Generate them in the callers instead. (WebCore::WebGLRenderingContext::vertexAttribPointer): Generate GL error if sizeInBytes fails. * html/canvas/WebGLRenderingContext.h: Make sizeInBytes private helper. * html/canvas/WebGLRenderingContext.idl: Remove sizeInBytes. 2010-08-09 Eric Carlson Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=43702