From 6b70adc33054f8aee8c54d0f460458a9df11b8a5 Mon Sep 17 00:00:00 2001 From: Russell Brenner Date: Thu, 18 Nov 2010 17:33:13 -0800 Subject: Merge WebKit at r72274: Initial merge by git. Change-Id: Ie51f0b4a16da82942bd516dce59cfb79ebbe25fb --- JavaScriptCore/ChangeLog | 752 + .../Configurations/FeatureDefines.xcconfig | 5 +- JavaScriptCore/Configurations/Version.xcconfig | 2 +- JavaScriptCore/GNUmakefile.am | 1 + JavaScriptCore/JavaScriptCore.gypi | 1 + JavaScriptCore/JavaScriptCore.pri | 1 + .../JavaScriptCore/JavaScriptCore.def | 2 +- .../JavaScriptCore/JavaScriptCore.vcproj | 87 +- .../JavaScriptCore.vcproj/WTF/WTF.vcproj | 63 +- .../JavaScriptCore.vcproj/jsc/jsc.vcproj | 63 +- .../JavaScriptCore.vcproj/testapi/testapi.vcproj | 71 +- .../JavaScriptCore.xcodeproj/project.pbxproj | 5 +- JavaScriptCore/JavaScriptCorePrefix.h | 1 + JavaScriptCore/assembler/AbstractMacroAssembler.h | 4 +- JavaScriptCore/assembler/CodeLocation.h | 3 +- JavaScriptCore/bytecode/CodeBlock.cpp | 51 +- JavaScriptCore/bytecode/CodeBlock.h | 13 +- JavaScriptCore/bytecode/Opcode.h | 4 +- JavaScriptCore/bytecompiler/BytecodeGenerator.cpp | 27 +- JavaScriptCore/bytecompiler/BytecodeGenerator.h | 20 +- JavaScriptCore/bytecompiler/NodesCodegen.cpp | 64 +- JavaScriptCore/interpreter/Interpreter.cpp | 169 +- JavaScriptCore/jit/JIT.cpp | 5 +- JavaScriptCore/jit/JIT.h | 7 +- JavaScriptCore/jit/JITInlineMethods.h | 11 +- JavaScriptCore/jit/JITOpcodes.cpp | 47 +- JavaScriptCore/jit/JITOpcodes32_64.cpp | 54 +- JavaScriptCore/jit/JITStubs.cpp | 80 +- JavaScriptCore/jit/JITStubs.h | 4 +- JavaScriptCore/parser/Nodes.h | 5 +- JavaScriptCore/runtime/Error.cpp | 34 +- JavaScriptCore/runtime/Error.h | 2 - JavaScriptCore/runtime/ErrorInstance.cpp | 2 + JavaScriptCore/runtime/ErrorInstance.h | 9 + JavaScriptCore/runtime/ExceptionHelpers.cpp | 110 +- JavaScriptCore/runtime/ExceptionHelpers.h | 15 +- JavaScriptCore/runtime/JSFunction.cpp | 14 +- JavaScriptCore/runtime/JSGlobalData.cpp | 1 - JavaScriptCore/runtime/JSGlobalData.h | 1 - JavaScriptCore/runtime/JSNotAnObject.cpp | 39 +- JavaScriptCore/runtime/JSNotAnObject.h | 26 +- JavaScriptCore/runtime/JSObject.h | 2 +- JavaScriptCore/runtime/JSValue.cpp | 20 +- JavaScriptCore/wtf/Platform.h | 15 + JavaScriptCore/wtf/text/CString.cpp | 25 +- JavaScriptCore/wtf/text/StringImpl.cpp | 81 +- JavaScriptCore/wtf/text/TextPosition.h | 141 + JavaScriptCore/wtf/text/WTFString.cpp | 44 +- JavaScriptCore/wtf/wtf.pri | 8 + JavaScriptCore/yarr/RegexCompiler.cpp | 253 +- JavaScriptCore/yarr/RegexInterpreter.cpp | 211 +- JavaScriptCore/yarr/RegexInterpreter.h | 22 + JavaScriptCore/yarr/RegexJIT.h | 4 +- JavaScriptCore/yarr/RegexParser.h | 2 +- JavaScriptCore/yarr/RegexPattern.h | 30 + JavaScriptGlue/Configurations/Version.xcconfig | 2 +- .../ForwardingHeaders/wtf/text/TextPosition.h | 1 + .../access-after-element-destruction-expected.txt | 2 - .../access-after-element-destruction.js | 2 - .../fast/dom/Geolocation/script-tests/timestamp.js | 34 + .../fast/dom/Geolocation/timestamp-expected.txt | 14 + LayoutTests/fast/dom/Geolocation/timestamp.html | 13 + WebCore/Android.derived.jscbindings.mk | 2 - WebCore/Android.derived.v8bindings.mk | 2 - WebCore/Android.jscbindings.mk | 1 - WebCore/Android.mk | 9 +- WebCore/Android.v8bindings.mk | 4 + WebCore/CMakeLists.txt | 50 +- WebCore/CMakeListsEfl.txt | 37 +- WebCore/ChangeLog | 5770 +++++- WebCore/Configurations/FeatureDefines.xcconfig | 5 +- WebCore/Configurations/Version.xcconfig | 2 +- WebCore/DerivedSources.cpp | 7 +- WebCore/DerivedSources.make | 11 +- WebCore/English.lproj/localizedStrings.js | Bin 52034 -> 52406 bytes WebCore/ForwardingHeaders/wtf/text/TextPosition.h | 4 + WebCore/GNUmakefile.am | 115 +- WebCore/WebCore.exp.in | 23 +- WebCore/WebCore.gypi | 44 +- WebCore/WebCore.order | 4 +- WebCore/WebCore.pri | 6 +- WebCore/WebCore.pro | 102 +- WebCore/WebCore.vcproj/QTMovieWin.vcproj | 115 +- WebCore/WebCore.vcproj/QTMovieWinCommon.vsprops | 28 + WebCore/WebCore.vcproj/WebCore.make | 6 +- WebCore/WebCore.vcproj/WebCore.sln | 7 + WebCore/WebCore.vcproj/WebCore.vcproj | 17569 ++++++++++++++----- WebCore/WebCore.vcproj/WebCoreCairo.vsprops | 2 +- WebCore/WebCore.vcproj/copyForwardingHeaders.cmd | 1 + WebCore/WebCore.xcodeproj/project.pbxproj | 254 +- WebCore/WebCorePrefix.h | 11 +- WebCore/accessibility/AccessibilityObject.cpp | 2 +- .../accessibility/AccessibilityRenderObject.cpp | 8 +- WebCore/accessibility/gtk/AXObjectCacheAtk.cpp | 59 +- .../mac/AccessibilityObjectWrapper.mm | 2 +- WebCore/bindings/generic/RuntimeEnabledFeatures.h | 2 + WebCore/bindings/gobject/GObjectEventListener.cpp | 7 +- WebCore/bindings/gobject/GObjectEventListener.h | 7 +- WebCore/bindings/js/JSAudioContextCustom.cpp | 57 + WebCore/bindings/js/JSAudioNodeCustom.cpp | 75 + WebCore/bindings/js/JSBindingsAllInOne.cpp | 1 - WebCore/bindings/js/JSCSSRuleCustom.cpp | 5 - .../js/JSCanvasRenderingContext2DCustom.cpp | 12 +- WebCore/bindings/js/JSDeviceMotionEventCustom.cpp | 2 +- .../bindings/js/JSDeviceOrientationEventCustom.cpp | 6 +- WebCore/bindings/js/JSEventCustom.cpp | 9 + WebCore/bindings/js/JSEventTarget.cpp | 10 + WebCore/bindings/js/JSSVGMatrixCustom.cpp | 82 - WebCore/bindings/js/JSStyleSheetCustom.cpp | 8 - WebCore/bindings/js/ScriptSourceCode.h | 5 +- WebCore/bindings/objc/DOMCSS.mm | 3 - WebCore/bindings/scripts/CodeGenerator.pm | 55 +- WebCore/bindings/scripts/CodeGeneratorJS.pm | 244 +- WebCore/bindings/scripts/CodeGeneratorObjC.pm | 173 +- WebCore/bindings/scripts/CodeGeneratorV8.pm | 480 +- WebCore/bindings/v8/ScheduledAction.cpp | 2 +- WebCore/bindings/v8/ScriptController.cpp | 14 +- WebCore/bindings/v8/ScriptController.h | 3 +- WebCore/bindings/v8/ScriptEventListener.cpp | 20 +- WebCore/bindings/v8/ScriptSourceCode.h | 12 +- WebCore/bindings/v8/V8DOMWrapper.cpp | 9 + WebCore/bindings/v8/V8GCController.cpp | 23 +- WebCore/bindings/v8/V8LazyEventListener.cpp | 7 +- WebCore/bindings/v8/V8LazyEventListener.h | 10 +- WebCore/bindings/v8/V8Proxy.cpp | 13 +- WebCore/bindings/v8/V8Proxy.h | 2 +- .../bindings/v8/WorkerContextExecutionProxy.cpp | 6 +- WebCore/bindings/v8/WorkerContextExecutionProxy.h | 3 +- WebCore/bindings/v8/WorkerScriptController.cpp | 2 +- .../bindings/v8/custom/V8AudioContextCustom.cpp | 60 + WebCore/bindings/v8/custom/V8AudioNodeCustom.cpp | 91 + WebCore/bindings/v8/custom/V8CSSRuleCustom.cpp | 3 - WebCore/bindings/v8/custom/V8EventCustom.cpp | 8 + .../v8/custom/V8HTMLSelectElementCustom.cpp | 27 - WebCore/bindings/v8/custom/V8SVGMatrixCustom.cpp | 102 - .../v8/custom/V8WebGLRenderingContextCustom.cpp | 55 +- WebCore/bridge/jni/jsc/JNIUtilityPrivate.cpp | 3 +- WebCore/config.h | 2 +- WebCore/css/CSSBorderImageValue.h | 1 + WebCore/css/CSSComputedStyleDeclaration.cpp | 1 - WebCore/css/CSSCursorImageValue.h | 1 + WebCore/css/CSSFontFace.cpp | 11 + WebCore/css/CSSFontFace.h | 12 +- WebCore/css/CSSFontFaceSource.cpp | 9 +- WebCore/css/CSSFontFaceSource.h | 1 + WebCore/css/CSSFontSelector.cpp | 40 +- WebCore/css/CSSGrammar.y | 151 +- WebCore/css/CSSImageValue.h | 3 +- WebCore/css/CSSMutableStyleDeclaration.cpp | 17 +- WebCore/css/CSSMutableStyleDeclaration.h | 9 +- WebCore/css/CSSParser.cpp | 118 +- WebCore/css/CSSParser.h | 14 - WebCore/css/CSSParserValues.cpp | 11 +- WebCore/css/CSSParserValues.h | 5 - WebCore/css/CSSPrimitiveValue.cpp | 201 +- WebCore/css/CSSPrimitiveValue.h | 39 +- WebCore/css/CSSProperty.cpp | 2 - WebCore/css/CSSPropertyNames.in | 1 - WebCore/css/CSSReflectValue.h | 2 + WebCore/css/CSSRule.h | 4 +- WebCore/css/CSSRule.idl | 1 - WebCore/css/CSSSegmentedFontFace.cpp | 2 +- WebCore/css/CSSStyleDeclaration.cpp | 8 +- WebCore/css/CSSStyleSelector.cpp | 674 +- WebCore/css/CSSStyleSelector.h | 9 - WebCore/css/CSSValue.h | 6 +- WebCore/css/CSSVariableDependentValue.cpp | 49 - WebCore/css/CSSVariableDependentValue.h | 57 - WebCore/css/CSSVariablesDeclaration.cpp | 175 - WebCore/css/CSSVariablesDeclaration.h | 82 - WebCore/css/CSSVariablesDeclaration.idl | 44 - WebCore/css/CSSVariablesRule.cpp | 61 - WebCore/css/CSSVariablesRule.h | 70 - WebCore/css/CSSVariablesRule.idl | 33 - WebCore/css/FontFamilyValue.h | 1 + WebCore/css/SVGCSSStyleSelector.cpp | 17 +- WebCore/css/ShadowValue.h | 2 + WebCore/css/StyleBase.h | 1 - WebCore/css/StyleSheet.cpp | 20 + WebCore/css/StyleSheet.h | 1 + WebCore/css/WebKitCSSMatrix.cpp | 17 +- WebCore/css/WebKitCSSMatrix.h | 16 +- WebCore/css/html.css | 19 +- WebCore/css/themeQtMobile.css | 9 +- WebCore/css/tokenizer.flex | 5 - WebCore/dom/AsyncScriptRunner.cpp | 4 +- WebCore/dom/AsyncScriptRunner.h | 6 +- WebCore/dom/Attr.idl | 4 +- WebCore/dom/ContainerNode.cpp | 36 +- WebCore/dom/DOMAllInOne.cpp | 2 + WebCore/dom/DOMTimeStamp.h | 50 + WebCore/dom/Document.cpp | 63 +- WebCore/dom/Document.h | 12 +- WebCore/dom/Document.idl | 16 +- WebCore/dom/DocumentTiming.h | 6 +- WebCore/dom/DocumentType.cpp | 6 +- WebCore/dom/Element.cpp | 9 +- WebCore/dom/Element.h | 1 + WebCore/dom/Event.cpp | 11 +- WebCore/dom/Event.h | 7 +- WebCore/dom/EventContext.cpp | 51 + WebCore/dom/EventContext.h | 65 + WebCore/dom/EventNames.h | 2 + WebCore/dom/EventTarget.cpp | 7 + WebCore/dom/EventTarget.h | 6 + WebCore/dom/KeyboardEvent.h | 2 +- WebCore/dom/MouseRelatedEvent.cpp | 2 +- WebCore/dom/Node.cpp | 125 +- WebCore/dom/Node.h | 21 +- WebCore/dom/PendingScript.cpp | 2 +- WebCore/dom/PendingScript.h | 11 +- WebCore/dom/Position.cpp | 4 +- WebCore/dom/PositionIterator.cpp | 4 +- WebCore/dom/ProcessingInstruction.cpp | 14 + WebCore/dom/ScriptElement.cpp | 132 +- WebCore/dom/ScriptElement.h | 81 +- WebCore/dom/ScriptableDocumentParser.h | 4 +- WebCore/dom/SelectElement.cpp | 49 +- WebCore/dom/StyleElement.cpp | 20 +- WebCore/dom/StyleElement.h | 2 +- WebCore/dom/StyledElement.cpp | 21 +- WebCore/dom/Text.cpp | 5 +- WebCore/dom/ViewportArguments.cpp | 2 + WebCore/dom/WindowEventContext.cpp | 64 + WebCore/dom/WindowEventContext.h | 65 + WebCore/dom/XMLDocumentParser.h | 12 +- WebCore/dom/XMLDocumentParserLibxml2.cpp | 33 +- WebCore/dom/XMLDocumentParserQt.cpp | 25 +- WebCore/editing/AppendNodeCommand.cpp | 2 +- WebCore/editing/ApplyStyleCommand.cpp | 26 +- WebCore/editing/CompositeEditCommand.cpp | 10 +- WebCore/editing/DeleteSelectionCommand.cpp | 2 +- WebCore/editing/Editor.cpp | 73 +- WebCore/editing/MergeIdenticalElementsCommand.cpp | 2 +- WebCore/editing/SelectionController.cpp | 9 +- WebCore/editing/TextCheckingHelper.cpp | 181 +- WebCore/editing/TextCheckingHelper.h | 46 +- WebCore/editing/htmlediting.cpp | 2 +- WebCore/editing/markup.cpp | 2 +- WebCore/editing/visible_units.cpp | 8 +- WebCore/features.pri | 5 +- WebCore/fileapi/FileWriterSync.cpp | 85 + WebCore/fileapi/FileWriterSync.h | 83 + WebCore/fileapi/FileWriterSync.idl | 44 + WebCore/html/BaseDateAndTimeInputType.cpp | 5 + WebCore/html/BaseDateAndTimeInputType.h | 1 + WebCore/html/EmailInputType.cpp | 6 + WebCore/html/EmailInputType.h | 1 + WebCore/html/FileInputType.cpp | 10 + WebCore/html/FileInputType.h | 1 + WebCore/html/HTMLAreaElement.cpp | 2 +- WebCore/html/HTMLAttributeNames.in | 5 + WebCore/html/HTMLButtonElement.cpp | 5 + WebCore/html/HTMLButtonElement.h | 1 + WebCore/html/HTMLButtonElement.idl | 4 + WebCore/html/HTMLElement.cpp | 8 +- WebCore/html/HTMLEmbedElement.cpp | 8 +- WebCore/html/HTMLFormControlElement.cpp | 57 + WebCore/html/HTMLFormControlElement.h | 6 + WebCore/html/HTMLFormElement.cpp | 66 +- WebCore/html/HTMLFormElement.h | 3 + WebCore/html/HTMLFrameElementBase.cpp | 7 +- WebCore/html/HTMLFrameElementBase.h | 2 - WebCore/html/HTMLFrameOwnerElement.h | 1 - WebCore/html/HTMLInputElement.cpp | 198 +- WebCore/html/HTMLInputElement.h | 15 +- WebCore/html/HTMLInputElement.idl | 6 +- WebCore/html/HTMLLinkElement.cpp | 18 +- WebCore/html/HTMLMediaElement.cpp | 141 +- WebCore/html/HTMLMediaElement.h | 10 +- WebCore/html/HTMLObjectElement.cpp | 2 +- WebCore/html/HTMLOutputElement.cpp | 6 - WebCore/html/HTMLOutputElement.h | 1 - WebCore/html/HTMLScriptElement.cpp | 46 +- WebCore/html/HTMLScriptElement.h | 14 +- WebCore/html/HTMLStyleElement.cpp | 11 +- WebCore/html/HTMLStyleElement.h | 3 +- WebCore/html/HTMLTableElement.cpp | 2 +- WebCore/html/HTMLTableRowsCollection.cpp | 16 +- WebCore/html/HTMLTagNames.in | 6 +- WebCore/html/HTMLTextAreaElement.h | 4 +- WebCore/html/HTMLViewSourceDocument.cpp | 2 +- WebCore/html/ImageInputType.cpp | 22 +- WebCore/html/ImageInputType.h | 5 + WebCore/html/InputType.cpp | 40 + WebCore/html/InputType.h | 19 + WebCore/html/MediaDocument.cpp | 2 +- WebCore/html/NumberInputType.cpp | 29 +- WebCore/html/NumberInputType.h | 4 + WebCore/html/RadioInputType.cpp | 7 + WebCore/html/RadioInputType.h | 1 + WebCore/html/RangeInputType.cpp | 41 + WebCore/html/RangeInputType.h | 1 + WebCore/html/ResetInputType.cpp | 11 + WebCore/html/ResetInputType.h | 1 + WebCore/html/SubmitInputType.cpp | 13 + WebCore/html/SubmitInputType.h | 1 + WebCore/html/TextFieldInputType.cpp | 28 + WebCore/html/TextFieldInputType.h | 2 + WebCore/html/URLInputType.cpp | 6 + WebCore/html/URLInputType.h | 1 + WebCore/html/ValidityState.cpp | 47 +- WebCore/html/canvas/CanvasRenderingContext2D.cpp | 10 - WebCore/html/canvas/WebGLRenderingContext.cpp | 83 +- WebCore/html/canvas/WebGLRenderingContext.h | 20 +- WebCore/html/canvas/WebGLRenderingContext.idl | 17 +- WebCore/html/parser/HTMLConstructionSite.cpp | 4 +- WebCore/html/parser/HTMLDocumentParser.cpp | 14 +- WebCore/html/parser/HTMLDocumentParser.h | 2 +- WebCore/html/parser/HTMLParserIdioms.cpp | 72 + WebCore/html/parser/HTMLParserIdioms.h | 1 + WebCore/html/parser/HTMLScriptRunner.cpp | 34 +- WebCore/html/parser/HTMLScriptRunner.h | 6 +- WebCore/html/parser/HTMLTreeBuilder.cpp | 32 +- WebCore/html/parser/HTMLTreeBuilder.h | 7 +- WebCore/inspector/CodeGeneratorInspector.pm | 5 + WebCore/inspector/Inspector.idl | 14 +- WebCore/inspector/InspectorCSSAgent.cpp | 148 +- WebCore/inspector/InspectorCSSAgent.h | 20 +- WebCore/inspector/InspectorController.cpp | 41 +- WebCore/inspector/InspectorController.h | 3 + WebCore/inspector/InspectorDOMAgent.cpp | 16 +- WebCore/inspector/InspectorDOMAgent.h | 1 - WebCore/inspector/InspectorFileSystemAgent.cpp | 19 +- WebCore/inspector/InspectorInstrumentation.cpp | 8 +- WebCore/inspector/InspectorInstrumentation.h | 8 +- WebCore/inspector/InspectorStyleSheet.cpp | 164 +- WebCore/inspector/InspectorStyleSheet.h | 17 +- WebCore/inspector/front-end/AuditResultView.js | 3 +- WebCore/inspector/front-end/AuditRules.js | 50 +- WebCore/inspector/front-end/BreakpointManager.js | 18 +- .../inspector/front-end/BreakpointsSidebarPane.js | 14 +- WebCore/inspector/front-end/CSSStyleModel.js | 411 +- .../inspector/front-end/CallStackSidebarPane.js | 11 +- WebCore/inspector/front-end/DOMAgent.js | 290 - WebCore/inspector/front-end/DatabaseQueryView.js | 4 +- WebCore/inspector/front-end/DatabaseTableView.js | 2 +- WebCore/inspector/front-end/ElementsTreeOutline.js | 93 +- WebCore/inspector/front-end/ExtensionAPI.js | 97 +- WebCore/inspector/front-end/ExtensionServer.js | 4 +- WebCore/inspector/front-end/Images/auditsIcon.png | Bin 3815 -> 3997 bytes WebCore/inspector/front-end/Images/storageIcon.png | Bin 7148 -> 0 bytes WebCore/inspector/front-end/NetworkPanel.js | 4 +- .../inspector/front-end/ObjectPropertiesSection.js | 23 +- WebCore/inspector/front-end/ResourceManager.js | 16 +- WebCore/inspector/front-end/ResourceView.js | 85 +- WebCore/inspector/front-end/ResourcesPanel.js | 1223 ++ WebCore/inspector/front-end/ScriptsPanel.js | 4 +- WebCore/inspector/front-end/Settings.js | 3 +- WebCore/inspector/front-end/StoragePanel.js | 1220 -- WebCore/inspector/front-end/StylesSidebarPane.js | 165 +- WebCore/inspector/front-end/TabbedPane.js | 68 +- WebCore/inspector/front-end/TextPrompt.js | 28 - WebCore/inspector/front-end/WebKit.qrc | 3 +- WebCore/inspector/front-end/WorkersSidebarPane.js | 3 +- WebCore/inspector/front-end/inspector.css | 102 +- WebCore/inspector/front-end/inspector.html | 2 +- WebCore/inspector/front-end/inspector.js | 54 +- WebCore/inspector/front-end/networkPanel.css | 14 - WebCore/inspector/front-end/textViewer.css | 2 - WebCore/inspector/front-end/treeoutline.js | 18 +- WebCore/loader/DocumentLoader.cpp | 15 +- WebCore/loader/DocumentThreadableLoader.cpp | 3 +- WebCore/loader/FormSubmission.cpp | 46 +- WebCore/loader/FormSubmission.h | 2 + WebCore/loader/FrameLoader.cpp | 35 +- WebCore/loader/FrameLoader.h | 19 +- WebCore/loader/MainResourceLoader.cpp | 2 + WebCore/loader/NetscapePlugInStreamLoader.cpp | 8 +- WebCore/loader/NetscapePlugInStreamLoader.h | 2 +- WebCore/loader/ProgressTracker.cpp | 2 +- WebCore/loader/ResourceLoadNotifier.cpp | 8 + WebCore/loader/ResourceLoadNotifier.h | 2 + WebCore/loader/ResourceLoadScheduler.cpp | 282 + WebCore/loader/ResourceLoadScheduler.h | 113 + WebCore/loader/ResourceLoader.cpp | 53 +- WebCore/loader/ResourceLoader.h | 12 +- WebCore/loader/SubresourceLoader.cpp | 3 +- WebCore/loader/cache/CachedCSSStyleSheet.cpp | 5 +- WebCore/loader/cache/CachedCSSStyleSheet.h | 2 +- WebCore/loader/cache/CachedFont.cpp | 7 +- WebCore/loader/cache/CachedFont.h | 2 +- WebCore/loader/cache/CachedImage.cpp | 7 +- WebCore/loader/cache/CachedImage.h | 4 +- WebCore/loader/cache/CachedResource.cpp | 5 +- WebCore/loader/cache/CachedResource.h | 14 +- WebCore/loader/cache/CachedScript.cpp | 5 +- WebCore/loader/cache/CachedScript.h | 2 +- WebCore/loader/cache/CachedXSLStyleSheet.cpp | 5 +- WebCore/loader/cache/CachedXSLStyleSheet.h | 2 +- WebCore/loader/icon/IconLoader.cpp | 3 +- WebCore/loader/loader.cpp | 421 +- WebCore/loader/loader.h | 82 +- .../compositing/caret-in-compositing-frame.html | 7 + .../resources/editable-compositing-subframe.html | 9 + WebCore/manual-tests/display-none-option.html | 11 + WebCore/manual-tests/print-onload-with-image.html | 13 + WebCore/manual-tests/select-scroll.html | 34 + .../manual-tests/svg-deep-clone-to-new-doc.html | 56 + WebCore/mathml/RenderMathMLFraction.cpp | 4 +- WebCore/mathml/RenderMathMLFraction.h | 2 +- WebCore/mathml/RenderMathMLOperator.cpp | 4 +- WebCore/mathml/RenderMathMLOperator.h | 2 +- WebCore/mathml/RenderMathMLRow.cpp | 6 +- WebCore/mathml/RenderMathMLRow.h | 2 +- WebCore/mathml/RenderMathMLSubSup.cpp | 6 +- WebCore/mathml/RenderMathMLSubSup.h | 2 +- WebCore/mathml/RenderMathMLUnderOver.cpp | 16 +- WebCore/mathml/RenderMathMLUnderOver.h | 2 +- WebCore/page/Console.cpp | 25 +- WebCore/page/DOMWindow.cpp | 18 +- WebCore/page/DOMWindow.h | 5 +- WebCore/page/DOMWindow.idl | 5 +- WebCore/page/DragController.cpp | 3 + WebCore/page/EventHandler.cpp | 10 +- WebCore/page/EventSource.cpp | 6 - WebCore/page/FocusController.cpp | 10 +- WebCore/page/Frame.cpp | 23 +- WebCore/page/Frame.h | 2 +- WebCore/page/FrameTree.cpp | 24 + WebCore/page/FrameTree.h | 2 + WebCore/page/FrameView.cpp | 3 + WebCore/page/Geolocation.cpp | 44 +- WebCore/page/Geolocation.h | 15 +- WebCore/page/GeolocationClient.h | 52 + WebCore/page/GeolocationController.cpp | 4 +- WebCore/page/GeolocationController.h | 6 +- WebCore/page/GeolocationControllerClient.h | 52 - WebCore/page/Navigation.cpp | 91 - WebCore/page/Navigation.h | 68 - WebCore/page/Navigation.idl | 43 - WebCore/page/Page.cpp | 4 +- WebCore/page/Page.h | 4 +- WebCore/page/Performance.cpp | 12 +- WebCore/page/Performance.h | 12 +- WebCore/page/Performance.idl | 4 +- WebCore/page/PerformanceNavigation.cpp | 91 + WebCore/page/PerformanceNavigation.h | 68 + WebCore/page/PerformanceNavigation.idl | 43 + WebCore/page/PerformanceTiming.cpp | 366 + WebCore/page/PerformanceTiming.h | 89 + WebCore/page/PerformanceTiming.idl | 56 + WebCore/page/SecurityOrigin.cpp | 12 + WebCore/page/SecurityOrigin.h | 5 + WebCore/page/Timing.cpp | 362 - WebCore/page/Timing.h | 89 - WebCore/page/Timing.idl | 56 - WebCore/platform/ContextMenu.h | 1 + WebCore/platform/ContextMenuItem.h | 4 + WebCore/platform/CrossThreadCopier.h | 6 +- WebCore/platform/LocalizedStrings.cpp | 23 +- WebCore/platform/LocalizedStrings.h | 11 +- WebCore/platform/MIMETypeRegistry.cpp | 27 +- WebCore/platform/PopupMenuClient.h | 4 +- WebCore/platform/PopupMenuStyle.h | 5 +- WebCore/platform/ScrollView.cpp | 22 +- WebCore/platform/ScrollView.h | 5 + WebCore/platform/android/FileSystemAndroid.cpp | 6 +- .../platform/android/GeolocationServiceAndroid.cpp | 6 +- .../platform/android/LocalizedStringsAndroid.cpp | 26 +- WebCore/platform/android/PlatformBridge.h | 5 + WebCore/platform/audio/AudioBus.h | 2 + WebCore/platform/audio/AudioChannel.h | 2 +- WebCore/platform/audio/HRTFElevation.cpp | 4 +- WebCore/platform/audio/Panner.cpp | 5 - WebCore/platform/audio/Panner.h | 7 +- WebCore/platform/audio/VectorMath.cpp | 10 + WebCore/platform/audio/mac/AudioBusMac.mm | 66 + WebCore/platform/audio/mac/AudioFileReaderMac.cpp | 1 + WebCore/platform/brew/LocalizedStringsBrew.cpp | 26 +- WebCore/platform/chromium/ChromiumBridge.h | 1 + WebCore/platform/chromium/PopupMenuChromium.cpp | 53 +- WebCore/platform/chromium/PopupMenuChromium.h | 10 +- .../platform/chromium/SearchPopupMenuChromium.cpp | 6 +- WebCore/platform/efl/LocalizedStringsEfl.cpp | 23 +- WebCore/platform/graphics/ContextShadow.h | 15 +- WebCore/platform/graphics/Extensions3D.h | 23 +- WebCore/platform/graphics/Font.cpp | 69 + WebCore/platform/graphics/Font.h | 6 +- WebCore/platform/graphics/FontBaseline.h | 35 + WebCore/platform/graphics/FontFastPath.cpp | 17 +- WebCore/platform/graphics/GraphicsContext.h | 1 + WebCore/platform/graphics/GraphicsContext3D.cpp | 3 +- WebCore/platform/graphics/GraphicsContext3D.h | 13 +- WebCore/platform/graphics/ImageSource.cpp | 5 +- WebCore/platform/graphics/ImageSource.h | 3 +- WebCore/platform/graphics/IntPoint.h | 5 + WebCore/platform/graphics/IntRect.h | 2 + WebCore/platform/graphics/IntSize.h | 5 + WebCore/platform/graphics/MediaPlayer.cpp | 37 +- WebCore/platform/graphics/MediaPlayer.h | 2 + WebCore/platform/graphics/MediaPlayerPrivate.h | 5 + WebCore/platform/graphics/SimpleFontData.cpp | 31 +- WebCore/platform/graphics/SimpleFontData.h | 22 +- .../platform/graphics/cairo/FontCacheFreeType.cpp | 199 - .../graphics/cairo/FontCustomPlatformData.cpp | 87 - WebCore/platform/graphics/cairo/FontPlatformData.h | 33 - .../graphics/cairo/FontPlatformDataFreeType.cpp | 274 - .../graphics/cairo/FontPlatformDataFreeType.h | 104 - .../graphics/cairo/GlyphPageTreeNodeCairo.cpp | 68 - WebCore/platform/graphics/cairo/RefPtrCairo.cpp | 12 + WebCore/platform/graphics/cairo/RefPtrCairo.h | 4 + .../graphics/cairo/SimpleFontDataCairo.cpp | 139 - WebCore/platform/graphics/cg/FontPlatformData.h | 5 +- .../platform/graphics/cg/GraphicsContext3DCG.cpp | 3 +- WebCore/platform/graphics/cg/ImageSourceCG.cpp | 3 +- .../graphics/chromium/ContentLayerChromium.cpp | 82 +- .../graphics/chromium/DrawingBufferChromium.cpp | 27 +- .../graphics/chromium/Extensions3DChromium.h | 6 + WebCore/platform/graphics/chromium/FontLinux.cpp | 118 +- .../chromium/FontPlatformDataChromiumWin.h | 3 + .../graphics/chromium/FontPlatformDataLinux.h | 3 + .../graphics/chromium/ImageLayerChromium.cpp | 2 +- .../platform/graphics/chromium/LayerChromium.cpp | 50 +- WebCore/platform/graphics/chromium/LayerChromium.h | 39 +- .../graphics/chromium/LayerRendererChromium.cpp | 577 +- .../graphics/chromium/LayerRendererChromium.h | 39 +- .../graphics/chromium/RenderSurfaceChromium.cpp | 88 + .../graphics/chromium/RenderSurfaceChromium.h | 71 + .../chromium/SimpleFontDataChromiumWin.cpp | 5 +- .../graphics/chromium/SimpleFontDataLinux.cpp | 4 +- .../graphics/chromium/VideoLayerChromium.cpp | 1 + WebCore/platform/graphics/cocoa/FontPlatformData.h | 2 +- .../graphics/cocoa/FontPlatformDataCocoa.mm | 27 +- .../graphics/freetype/FontCacheFreeType.cpp | 199 + .../freetype/FontCustomPlatformDataFreeType.cpp | 87 + .../platform/graphics/freetype/FontPlatformData.h | 107 + .../graphics/freetype/FontPlatformDataFreeType.cpp | 274 + .../freetype/GlyphPageTreeNodeFreeType.cpp | 68 + .../graphics/freetype/SimpleFontDataFreeType.cpp | 138 + WebCore/platform/graphics/gpu/DrawingBuffer.cpp | 181 +- WebCore/platform/graphics/gpu/DrawingBuffer.h | 20 +- .../platform/graphics/gpu/mac/DrawingBufferMac.mm | 57 +- .../platform/graphics/gstreamer/ImageGStreamer.h | 4 + .../graphics/gstreamer/ImageGStreamerQt.cpp | 67 + .../gstreamer/PlatformVideoWindowPrivate.h | 44 + .../graphics/gstreamer/PlatformVideoWindowQt.cpp | 82 + WebCore/platform/graphics/gtk/FontCachePango.cpp | 65 - .../graphics/gtk/FontCustomPlatformDataPango.cpp | 54 - WebCore/platform/graphics/gtk/FontGtk.cpp | 159 +- .../graphics/gtk/FontPlatformDataPango.cpp | 278 - .../platform/graphics/gtk/FontPlatformDataPango.h | 102 - .../platform/graphics/gtk/GdkCairoUtilities.cpp | 63 +- .../graphics/gtk/GlyphPageTreeNodePango.cpp | 98 - .../platform/graphics/gtk/SimpleFontDataPango.cpp | 142 - .../graphics/haiku/SimpleFontDataHaiku.cpp | 4 +- .../graphics/mac/ComplexTextController.cpp | 4 +- .../graphics/mac/ComplexTextControllerATSUI.cpp | 2 +- .../graphics/mac/ComplexTextControllerCoreText.cpp | 37 +- WebCore/platform/graphics/mac/FontCacheMac.mm | 4 +- WebCore/platform/graphics/mac/FontMac.mm | 2 +- .../platform/graphics/mac/GlyphPageTreeNodeMac.cpp | 2 +- .../platform/graphics/mac/GraphicsContext3DMac.mm | 11 - WebCore/platform/graphics/mac/GraphicsLayerCA.h | 388 - WebCore/platform/graphics/mac/GraphicsLayerCA.mm | 2514 --- WebCore/platform/graphics/mac/GraphicsLayerMac.h | 388 + WebCore/platform/graphics/mac/GraphicsLayerMac.mm | 2514 +++ .../graphics/mac/MediaPlayerPrivateQTKit.h | 12 +- .../graphics/mac/MediaPlayerPrivateQTKit.mm | 196 +- .../graphics/mac/SimpleFontDataCoreText.cpp | 6 +- WebCore/platform/graphics/mac/SimpleFontDataMac.mm | 31 +- .../graphics/opengl/Extensions3DOpenGL.cpp | 18 + .../platform/graphics/opengl/Extensions3DOpenGL.h | 2 + WebCore/platform/graphics/pango/FontCachePango.cpp | 65 + .../graphics/pango/FontCustomPlatformDataPango.cpp | 54 + WebCore/platform/graphics/pango/FontPlatformData.h | 105 + .../graphics/pango/FontPlatformDataPango.cpp | 277 + .../graphics/pango/GlyphPageTreeNodePango.cpp | 98 + .../graphics/pango/SimpleFontDataPango.cpp | 142 + WebCore/platform/graphics/qt/FontPlatformData.h | 4 + .../platform/graphics/qt/GraphicsContext3DQt.cpp | 2 + WebCore/platform/graphics/qt/GraphicsContextQt.cpp | 16 + WebCore/platform/graphics/qt/ImageDecoderQt.cpp | 8 +- WebCore/platform/graphics/qt/ImageDecoderQt.h | 2 +- WebCore/platform/graphics/qt/ImageQt.cpp | 21 +- WebCore/platform/graphics/qt/PathQt.cpp | 7 +- .../graphics/skia/GraphicsContext3DSkia.cpp | 7 +- WebCore/platform/graphics/skia/ImageBufferSkia.cpp | 21 +- .../graphics/transforms/TransformOperations.h | 5 + .../graphics/win/FontPlatformDataCairoWin.h | 108 - .../platform/graphics/win/SimpleFontDataWin.cpp | 19 +- .../platform/graphics/win/UniscribeController.cpp | 14 +- .../platform/graphics/win/cairo/FontPlatformData.h | 108 + WebCore/platform/graphics/wince/FontPlatformData.h | 3 + WebCore/platform/graphics/wx/FontPlatformData.h | 3 + WebCore/platform/graphics/wx/SimpleFontDataWx.cpp | 5 +- WebCore/platform/gtk/GtkVersioning.c | 2 +- WebCore/platform/gtk/LocalizedStringsGtk.cpp | 26 +- WebCore/platform/gtk/RenderThemeGtk.cpp | 137 +- WebCore/platform/gtk/RenderThemeGtk.h | 11 +- WebCore/platform/gtk/ScrollbarThemeGtk.cpp | 17 +- WebCore/platform/gtk/WidgetRenderingContext.h | 56 + .../platform/gtk/WidgetRenderingContextGtk2.cpp | 170 + .../platform/gtk/WidgetRenderingContextGtk3.cpp | 52 + WebCore/platform/gtk/gtk3drawing.c | 8 +- WebCore/platform/haiku/LocalizedStringsHaiku.cpp | 26 +- WebCore/platform/image-decoders/ImageDecoder.cpp | 18 +- WebCore/platform/image-decoders/ImageDecoder.h | 8 +- .../image-decoders/bmp/BMPImageDecoder.cpp | 4 +- .../platform/image-decoders/bmp/BMPImageDecoder.h | 2 +- .../platform/image-decoders/cg/ImageDecoderCG.cpp | 9 +- .../image-decoders/gif/GIFImageDecoder.cpp | 4 +- .../platform/image-decoders/gif/GIFImageDecoder.h | 2 +- .../image-decoders/ico/ICOImageDecoder.cpp | 6 +- .../platform/image-decoders/ico/ICOImageDecoder.h | 2 +- .../image-decoders/jpeg/JPEGImageDecoder.cpp | 4 +- .../image-decoders/jpeg/JPEGImageDecoder.h | 2 +- .../image-decoders/png/PNGImageDecoder.cpp | 15 +- .../platform/image-decoders/png/PNGImageDecoder.h | 2 +- .../image-decoders/webp/WEBPImageDecoder.cpp | 4 +- .../image-decoders/webp/WEBPImageDecoder.h | 2 +- WebCore/platform/mac/ContextMenuItemMac.mm | 44 +- WebCore/platform/mac/ContextMenuMac.mm | 12 + WebCore/platform/mac/ScrollAnimatorMac.cpp | 60 + WebCore/platform/mac/ScrollAnimatorMac.h | 49 + WebCore/platform/mac/WebCoreSystemInterface.h | 5 + WebCore/platform/mac/WebCoreSystemInterface.mm | 5 + .../platform/mock/DeviceOrientationClientMock.cpp | 1 + WebCore/platform/mock/SpeechInputClientMock.cpp | 6 + WebCore/platform/mock/SpeechInputClientMock.h | 1 + .../platform/network/chromium/ResourceRequest.cpp | 2 + .../platform/network/chromium/ResourceRequest.h | 10 + WebCore/platform/qt/ContextMenuItemQt.cpp | 15 + WebCore/platform/qt/ContextMenuQt.cpp | 6 + WebCore/platform/qt/CookieJarQt.cpp | 1 + WebCore/platform/qt/RenderThemeQt.cpp | 27 +- WebCore/platform/text/BidiResolver.h | 78 +- WebCore/platform/text/TextCodecUTF16.cpp | 12 +- WebCore/platform/text/TextStream.cpp | 6 +- WebCore/platform/text/cf/HyphenationCF.cpp | 34 +- .../text/mac/TextBreakIteratorInternalICUMac.mm | 14 +- WebCore/platform/win/ContextMenuItemWin.cpp | 15 + WebCore/platform/win/ContextMenuWin.cpp | 6 + WebCore/platform/win/EditorWin.cpp | 2 + WebCore/platform/wince/EditorWinCE.cpp | 43 - WebCore/platform/wx/LocalizedStringsWx.cpp | 26 +- WebCore/plugins/PluginStream.cpp | 8 +- WebCore/rendering/InlineBox.cpp | 14 +- WebCore/rendering/InlineBox.h | 9 +- WebCore/rendering/InlineFlowBox.cpp | 230 +- WebCore/rendering/InlineFlowBox.h | 9 +- WebCore/rendering/InlineTextBox.cpp | 8 +- WebCore/rendering/InlineTextBox.h | 2 +- WebCore/rendering/MediaControlElements.cpp | 16 +- WebCore/rendering/RenderBlock.cpp | 88 +- WebCore/rendering/RenderBlock.h | 4 +- WebCore/rendering/RenderBlockLineLayout.cpp | 76 +- WebCore/rendering/RenderBox.cpp | 71 +- WebCore/rendering/RenderBox.h | 14 +- WebCore/rendering/RenderBoxModelObject.cpp | 47 - WebCore/rendering/RenderBoxModelObject.h | 10 +- WebCore/rendering/RenderFileUploadControl.cpp | 2 +- WebCore/rendering/RenderFlexibleBox.cpp | 2 +- WebCore/rendering/RenderImage.cpp | 67 +- WebCore/rendering/RenderImage.h | 7 +- WebCore/rendering/RenderInline.cpp | 19 +- WebCore/rendering/RenderInline.h | 6 +- WebCore/rendering/RenderLayer.cpp | 9 +- WebCore/rendering/RenderLayer.h | 3 +- WebCore/rendering/RenderLayerBacking.cpp | 2 +- WebCore/rendering/RenderListBox.cpp | 4 +- WebCore/rendering/RenderListBox.h | 2 +- WebCore/rendering/RenderListItem.cpp | 40 +- WebCore/rendering/RenderListMarker.cpp | 206 +- WebCore/rendering/RenderListMarker.h | 2 +- WebCore/rendering/RenderMenuList.cpp | 4 +- WebCore/rendering/RenderMenuList.h | 2 +- WebCore/rendering/RenderObject.cpp | 11 +- WebCore/rendering/RenderObject.h | 6 +- WebCore/rendering/RenderReplaced.cpp | 26 +- WebCore/rendering/RenderReplaced.h | 2 +- WebCore/rendering/RenderRuby.cpp | 3 - WebCore/rendering/RenderRuby.h | 4 - WebCore/rendering/RenderRubyBase.cpp | 3 - WebCore/rendering/RenderRubyBase.h | 4 - WebCore/rendering/RenderRubyRun.cpp | 12 +- WebCore/rendering/RenderRubyRun.h | 4 - WebCore/rendering/RenderRubyText.cpp | 3 - WebCore/rendering/RenderRubyText.h | 4 - WebCore/rendering/RenderSVGGradientStop.cpp | 2 +- WebCore/rendering/RenderSVGViewportContainer.h | 1 + WebCore/rendering/RenderSlider.cpp | 5 +- WebCore/rendering/RenderSlider.h | 2 +- WebCore/rendering/RenderTable.cpp | 14 +- WebCore/rendering/RenderTableCell.cpp | 8 +- WebCore/rendering/RenderTableCell.h | 2 +- WebCore/rendering/RenderTableRow.cpp | 11 +- WebCore/rendering/RenderTableSection.cpp | 55 +- WebCore/rendering/RenderText.cpp | 18 +- WebCore/rendering/RenderTextControl.cpp | 69 +- WebCore/rendering/RenderTextControl.h | 7 + WebCore/rendering/RenderTextControlMultiLine.cpp | 49 +- WebCore/rendering/RenderTextControlMultiLine.h | 4 +- WebCore/rendering/RenderTextControlSingleLine.cpp | 70 +- WebCore/rendering/RenderTextControlSingleLine.h | 5 +- WebCore/rendering/RenderTreeAsText.cpp | 38 +- WebCore/rendering/RenderTreeAsText.h | 4 +- WebCore/rendering/RenderView.cpp | 17 +- WebCore/rendering/RootInlineBox.cpp | 24 +- WebCore/rendering/RootInlineBox.h | 11 +- WebCore/rendering/SVGImageBufferTools.cpp | 4 +- WebCore/rendering/ShadowElement.cpp | 2 +- WebCore/rendering/ShadowElement.h | 6 +- WebCore/rendering/TextControlInnerElements.cpp | 14 +- WebCore/rendering/TextControlInnerElements.h | 6 +- WebCore/rendering/VerticalPositionCache.h | 70 + WebCore/rendering/style/RenderStyle.cpp | 30 + WebCore/rendering/style/RenderStyle.h | 2 + WebCore/rendering/svg/SVGInlineTextBox.cpp | 2 +- WebCore/storage/IDBFactoryBackendInterface.cpp | 5 +- WebCore/storage/IDBFactoryBackendInterface.h | 3 +- WebCore/storage/IDBKey.cpp | 4 +- .../chromium/IDBFactoryBackendInterface.cpp | 6 +- WebCore/svg/DeprecatedSVGAnimatedPropertyTraits.h | 15 +- WebCore/svg/DeprecatedSVGAnimatedTemplate.h | 5 +- WebCore/svg/SVGAElement.cpp | 6 +- WebCore/svg/SVGAnimateTransformElement.cpp | 35 +- WebCore/svg/SVGAnimatedTransformList.h | 33 + WebCore/svg/SVGAnimationElement.cpp | 48 +- WebCore/svg/SVGAnimationElement.h | 1 + WebCore/svg/SVGCircleElement.cpp | 6 +- WebCore/svg/SVGElement.cpp | 7 - WebCore/svg/SVGElement.h | 2 - WebCore/svg/SVGEllipseElement.cpp | 6 +- WebCore/svg/SVGFEDisplacementMapElement.cpp | 12 + WebCore/svg/SVGFEDisplacementMapElement.h | 1 + WebCore/svg/SVGFEImageElement.cpp | 8 + WebCore/svg/SVGFEImageElement.h | 1 + WebCore/svg/SVGFELightElement.cpp | 8 +- WebCore/svg/SVGFEMergeNodeElement.cpp | 6 +- WebCore/svg/SVGFETileElement.cpp | 8 + WebCore/svg/SVGFETileElement.h | 1 + WebCore/svg/SVGForeignObjectElement.cpp | 4 +- WebCore/svg/SVGGElement.cpp | 6 +- WebCore/svg/SVGGradientElement.cpp | 12 +- WebCore/svg/SVGGradientElement.h | 3 +- WebCore/svg/SVGImageElement.cpp | 4 +- WebCore/svg/SVGLength.cpp | 2 +- WebCore/svg/SVGLineElement.cpp | 6 +- WebCore/svg/SVGLinearGradientElement.cpp | 7 +- WebCore/svg/SVGMatrix.h | 131 + WebCore/svg/SVGMatrix.idl | 32 +- WebCore/svg/SVGPathElement.cpp | 4 +- WebCore/svg/SVGPatternElement.cpp | 19 +- WebCore/svg/SVGPatternElement.h | 3 +- WebCore/svg/SVGPoint.idl | 2 +- WebCore/svg/SVGPolyElement.cpp | 6 +- WebCore/svg/SVGRadialGradientElement.cpp | 7 +- WebCore/svg/SVGRectElement.cpp | 6 +- WebCore/svg/SVGSVGElement.cpp | 33 +- WebCore/svg/SVGSVGElement.h | 9 +- WebCore/svg/SVGScriptElement.cpp | 53 +- WebCore/svg/SVGScriptElement.h | 11 +- WebCore/svg/SVGStyleElement.cpp | 11 +- WebCore/svg/SVGStyleElement.h | 3 +- WebCore/svg/SVGStyledElement.cpp | 4 +- WebCore/svg/SVGStyledTransformableElement.cpp | 17 +- WebCore/svg/SVGStyledTransformableElement.h | 2 +- WebCore/svg/SVGTests.cpp | 24 +- WebCore/svg/SVGTests.h | 5 +- WebCore/svg/SVGTextContentElement.cpp | 11 +- WebCore/svg/SVGTextContentElement.h | 1 + WebCore/svg/SVGTextElement.cpp | 16 +- WebCore/svg/SVGTextElement.h | 3 +- WebCore/svg/SVGTransform.cpp | 44 +- WebCore/svg/SVGTransform.h | 109 +- WebCore/svg/SVGTransform.idl | 26 +- WebCore/svg/SVGTransformList.cpp | 57 +- WebCore/svg/SVGTransformList.h | 27 +- WebCore/svg/SVGTransformList.idl | 18 +- WebCore/svg/SVGTransformable.cpp | 73 +- WebCore/svg/SVGTransformable.h | 4 +- WebCore/svg/SVGUseElement.cpp | 8 +- WebCore/svg/SVGViewSpec.cpp | 5 +- WebCore/svg/SVGViewSpec.h | 4 +- WebCore/svg/animation/SMILTimeContainer.cpp | 6 +- WebCore/svg/animation/SVGSMILElement.cpp | 2 +- .../properties/SVGAnimatedListPropertyTearOff.h | 2 +- WebCore/svg/properties/SVGAnimatedPropertyMacros.h | 14 + .../SVGAnimatedTransformListPropertyTearOff.h | 64 + WebCore/svg/properties/SVGListProperty.h | 4 +- WebCore/svg/properties/SVGListPropertyTearOff.h | 3 +- WebCore/svg/properties/SVGProperty.h | 2 + WebCore/svg/properties/SVGPropertyTearOff.h | 4 +- WebCore/svg/properties/SVGPropertyTraits.h | 8 + .../SVGStaticPropertyWithParentTearOff.h | 72 + .../properties/SVGTransformListPropertyTearOff.h | 75 + WebCore/webaudio/AudioNode.idl | 7 +- WebCore/webaudio/AudioPannerNode.h | 9 +- WebCore/webaudio/AudioPannerNode.idl | 7 +- WebCore/webaudio/JavaScriptAudioNode.cpp | 272 + WebCore/webaudio/JavaScriptAudioNode.h | 104 + WebCore/webaudio/JavaScriptAudioNode.idl | 40 + WebCore/wml/WMLDoElement.cpp | 1 + WebCore/wml/WMLDocument.cpp | 1 + WebCore/wml/WMLInputElement.cpp | 2 +- WebCore/wml/WMLPageState.cpp | 1 + WebCore/wml/WMLPrevElement.cpp | 1 + WebCore/xml/XMLHttpRequest.cpp | 24 - WebCore/xml/XMLHttpRequest.h | 1 - WebCore/xml/XPathNodeSet.cpp | 2 +- WebCore/xml/XPathStep.cpp | 2 +- WebCore/xml/XSLTProcessor.cpp | 6 + WebCore/xml/XSLTProcessor.h | 1 + WebCore/xml/XSLTProcessorLibxslt.cpp | 2 +- WebKit/CMakeLists.txt | 1 - WebKit/ChangeLog | 18 + WebKit/WebKit.xcodeproj/project.pbxproj | 16 +- WebKit/chromium/ChangeLog | 527 +- WebKit/chromium/DEPS | 4 +- WebKit/chromium/WebKit.gyp | 45 +- WebKit/chromium/features.gypi | 1 - WebKit/chromium/public/WebBindings.h | 2 + WebKit/chromium/public/WebGraphicsContext3D.h | 5 - WebKit/chromium/public/WebInputEvent.h | 2 + WebKit/chromium/public/WebKitClient.h | 1 + WebKit/chromium/public/WebLocalizedString.h | 10 + WebKit/chromium/public/WebPerformance.h | 1 - WebKit/chromium/public/WebSettings.h | 1 + .../chromium/public/WebSpeechInputControllerMock.h | 2 + WebKit/chromium/public/WebURLRequest.h | 4 + WebKit/chromium/public/WebView.h | 6 +- WebKit/chromium/public/WebViewClient.h | 14 +- WebKit/chromium/public/WebWidgetClient.h | 3 + WebKit/chromium/scripts/concatenate_css_files.py | 117 + WebKit/chromium/scripts/concatenate_js_files.py | 115 + WebKit/chromium/scripts/generate_devtools_html.py | 86 + WebKit/chromium/src/AutoFillPopupMenuClient.cpp | 53 +- WebKit/chromium/src/AutoFillPopupMenuClient.h | 7 +- WebKit/chromium/src/ChromeClientImpl.cpp | 2 +- WebKit/chromium/src/ChromiumBridge.cpp | 6 + WebKit/chromium/src/FrameLoaderClientImpl.cpp | 8 +- WebKit/chromium/src/GraphicsContext3DChromium.cpp | 20 - WebKit/chromium/src/GraphicsContext3DInternal.h | 2 - WebKit/chromium/src/LocalizedStrings.cpp | 48 +- WebKit/chromium/src/WebBindings.cpp | 21 + WebKit/chromium/src/WebDataSourceImpl.cpp | 2 +- WebKit/chromium/src/WebFrameImpl.cpp | 19 +- .../src/WebGraphicsContext3DDefaultImpl.cpp | 117 +- .../chromium/src/WebGraphicsContext3DDefaultImpl.h | 6 +- WebKit/chromium/src/WebImageDecoder.cpp | 4 +- WebKit/chromium/src/WebPerformance.cpp | 44 +- WebKit/chromium/src/WebSettingsImpl.cpp | 5 + WebKit/chromium/src/WebSettingsImpl.h | 1 + .../src/WebSpeechInputControllerMockImpl.cpp | 5 + .../src/WebSpeechInputControllerMockImpl.h | 1 + WebKit/chromium/src/WebURLRequest.cpp | 10 + WebKit/chromium/src/WebViewImpl.cpp | 55 +- .../chromium/src/WorkerAsyncFileSystemChromium.cpp | 74 +- .../chromium/src/WorkerAsyncFileWriterChromium.cpp | 84 + .../chromium/src/WorkerAsyncFileWriterChromium.h | 86 + .../src/WorkerFileWriterCallbacksBridge.cpp | 193 + .../chromium/src/WorkerFileWriterCallbacksBridge.h | 156 + WebKit/chromium/src/mac/WebInputEventFactory.mm | 3 + WebKit/chromium/tests/PopupMenuTest.cpp | 2 +- WebKit/efl/CMakeListsEfl.txt | 18 +- WebKit/efl/ChangeLog | 53 + WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h | 1 + WebKit/efl/ewk/ewk_view_single.c | 8 +- WebKit/gtk/ChangeLog | 87 + WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp | 4 - .../WebCoreSupport/DumpRenderTreeSupportGtk.cpp | 25 +- .../gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h | 3 + WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp | 23 +- WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp | 5 +- WebKit/gtk/webkit/webkitprivate.h | 3 - WebKit/gtk/webkit/webkitwebview.cpp | 38 +- WebKit/mac/ChangeLog | 141 + WebKit/mac/Configurations/FeatureDefines.xcconfig | 5 +- WebKit/mac/Configurations/Version.xcconfig | 2 +- WebKit/mac/Misc/WebKitNSStringExtras.mm | 4 +- WebKit/mac/Misc/WebStringTruncator.mm | 2 +- .../Plugins/Hosted/HostedNetscapePluginStream.mm | 7 +- WebKit/mac/Plugins/WebNetscapePluginStream.mm | 7 +- WebKit/mac/WebCoreSupport/WebEditorClient.mm | 2 +- WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm | 2 +- WebKit/mac/WebCoreSupport/WebGeolocationClient.h | 48 + WebKit/mac/WebCoreSupport/WebGeolocationClient.mm | 60 + .../WebGeolocationControllerClient.h | 48 - .../WebGeolocationControllerClient.mm | 60 - WebKit/mac/WebCoreSupport/WebSystemInterface.mm | 5 + WebKit/mac/WebKit.order | 8 +- .../mac/WebView/WebDeviceOrientationProviderMock.h | 2 + .../WebView/WebDeviceOrientationProviderMock.mm | 6 + WebKit/mac/WebView/WebPreferences.mm | 2 +- WebKit/mac/WebView/WebView.mm | 11 +- WebKit/mac/WebView/WebViewPrivate.h | 2 +- WebKit/qt/Api/qgraphicswebview.cpp | 1 + WebKit/qt/Api/qwebelement.cpp | 36 +- WebKit/qt/Api/qwebframe.cpp | 6 +- WebKit/qt/Api/qwebframe_p.h | 2 - WebKit/qt/Api/qwebpage.cpp | 27 +- WebKit/qt/Api/qwebpage.h | 2 +- WebKit/qt/Api/qwebscriptworld.cpp | 2 +- WebKit/qt/ChangeLog | 172 + WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp | 11 +- .../NotificationPresenterClientQt.cpp | 23 +- .../WebCoreSupport/NotificationPresenterClientQt.h | 4 +- WebKit/qt/symbian/eabi/QtWebKitu.def | 5 + WebKit/qt/tests/qwebframe/tst_qwebframe.cpp | 12 +- WebKit/win/ChangeLog | 90 + WebKit/win/WebCoreSupport/WebGeolocationClient.cpp | 74 + WebKit/win/WebCoreSupport/WebGeolocationClient.h | 52 + .../WebGeolocationControllerClient.cpp | 74 - .../WebGeolocationControllerClient.h | 52 - WebKit/win/WebKit.vcproj/Interfaces.vcproj | 732 +- WebKit/win/WebKit.vcproj/WebKit.make | 6 +- WebKit/win/WebKit.vcproj/WebKit.sln | 171 - WebKit/win/WebKit.vcproj/WebKit.submit.sln | 9 +- WebKit/win/WebKit.vcproj/WebKit.vcproj | 185 +- WebKit/win/WebKit.vcproj/WebKitGUID.vcproj | 91 +- WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops | 27 + WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops | 30 + WebKit/win/WebKit.vcproj/WebKit_debug.def | 136 - WebKit/win/WebKitPrefix.h | 3 +- WebKit/win/WebPreferences.cpp | 2 +- WebKit/win/WebView.cpp | 4 +- WebKit/wince/ChangeLog | 6 + WebKit/wince/WebCoreSupport/ChromeClientWinCE.h | 2 +- WebKitLibraries/ChangeLog | 30 + WebKitLibraries/win/lib/WebKitSystemInterface.lib | Bin 1246502 -> 469556 bytes .../win/lib/WebKitSystemInterface_debug.lib | Bin 484884 -> 482276 bytes .../win/tools/vsprops/FeatureDefines.vsprops | 7 +- .../win/tools/vsprops/FeatureDefinesCairo.vsprops | 7 +- .../build.webkit.org-config/config.json | 20 +- .../build.webkit.org-config/master.cfg | 10 + WebKitTools/ChangeLog | 1199 +- .../DumpRenderTree/AccessibilityUIElement.cpp | 7 + .../DumpRenderTree/AccessibilityUIElement.h | 4 +- .../ForwardingHeaders/wtf/CurrentTime.h | 1 + .../TestNetscapePlugIn/PluginObject.cpp | 97 + .../win/TestNetscapePlugin.vcproj | 166 +- .../win/TestNetscapePluginCommon.vsprops | 27 + .../DumpRenderTree/chromium/EventSender.cpp | 50 +- .../chromium/LayoutTestController.cpp | 23 +- .../DumpRenderTree/chromium/LayoutTestController.h | 5 - .../DumpRenderTree/chromium/MockSpellCheck.cpp | 7 + .../DumpRenderTree/chromium/MockSpellCheck.h | 1 + WebKitTools/DumpRenderTree/chromium/TestShell.cpp | 20 +- .../DumpRenderTree/chromium/WebPreferences.cpp | 2 +- .../DumpRenderTree/chromium/WebViewHost.cpp | 137 +- WebKitTools/DumpRenderTree/chromium/WebViewHost.h | 16 + WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp | 5 - .../DumpRenderTree/gtk/LayoutTestControllerGtk.cpp | 3 +- WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm | 5 +- .../DumpRenderTree/mac/LayoutTestControllerMac.mm | 4 +- WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp | 15 - WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h | 1 - .../DumpRenderTree/qt/LayoutTestControllerQt.cpp | 3 + .../DumpRenderTree/qt/LayoutTestControllerQt.h | 3 + .../unix/TestNetscapePlugin/TestNetscapePlugin.cpp | 1 - .../win/AccessibilityUIElementWin.cpp | 22 + WebKitTools/DumpRenderTree/win/DumpRenderTree.cpp | 2 +- .../DumpRenderTree/win/DumpRenderTree.vcproj | 161 +- .../DumpRenderTree/win/DumpRenderTreeApple.vsprops | 15 + .../win/DumpRenderTreeCFLite.vsprops | 11 + .../DumpRenderTree/win/DumpRenderTreeCairo.vsprops | 11 + .../win/DumpRenderTreeCommon.vsprops | 28 + WebKitTools/DumpRenderTree/win/ImageDiff.vcproj | 110 +- .../DumpRenderTree/win/ImageDiffCommon.vsprops | 25 + WebKitTools/FindSafari/FindSafari.vcproj | 5 +- WebKitTools/FindSafari/FindSafariCommon.vsprops | 13 + WebKitTools/MiniBrowser/MiniBrowser.qrc | 5 + WebKitTools/MiniBrowser/MiniBrowser.vcproj | 72 +- WebKitTools/MiniBrowser/qt/BrowserView.cpp | 4 +- WebKitTools/MiniBrowser/qt/BrowserView.h | 2 +- WebKitTools/MiniBrowser/qt/BrowserWindow.cpp | 66 +- WebKitTools/MiniBrowser/qt/BrowserWindow.h | 12 +- WebKitTools/MiniBrowser/qt/MiniBrowser.pro | 7 + WebKitTools/MiniBrowser/qt/main.cpp | 27 +- WebKitTools/MiniBrowser/win/stdafx.h | 1 - WebKitTools/QtTestBrowser/mainwindow.cpp | 5 +- WebKitTools/QtTestBrowser/webpage.cpp | 12 - WebKitTools/QtTestBrowser/webpage.h | 1 - WebKitTools/Scripts/build-webkit | 4 - WebKitTools/Scripts/do-file-rename | 1 + WebKitTools/Scripts/old-run-webkit-tests | 19 +- WebKitTools/Scripts/print-vse-failure-logs | 51 +- .../Scripts/webkitpy/common/checkout/scm.py | 3 +- .../Scripts/webkitpy/common/config/build.py | 138 + .../webkitpy/common/config/build_unittest.py | 64 + .../Scripts/webkitpy/common/config/committers.py | 2 +- .../webkitpy/common/config/committervalidator.py | 120 + .../common/config/committervalidator_unittest.py | 43 + .../Scripts/webkitpy/common/net/bugzilla.py | 914 - .../webkitpy/common/net/bugzilla/__init__.py | 8 + .../webkitpy/common/net/bugzilla/attachment.py | 114 + .../Scripts/webkitpy/common/net/bugzilla/bug.py | 105 + .../webkitpy/common/net/bugzilla/bug_unittest.py | 40 + .../webkitpy/common/net/bugzilla/bugzilla.py | 674 + .../common/net/bugzilla/bugzilla_unittest.py | 342 + .../webkitpy/common/net/bugzilla_unittest.py | 364 - .../Scripts/webkitpy/common/net/buildbot.py | 1 + .../webkitpy/common/net/buildbot_unittest.py | 8 + .../webkitpy/common/net/layouttestresults.py | 2 + .../common/net/layouttestresults_unittest.py | 1 + WebKitTools/Scripts/webkitpy/common/newstringio.py | 40 + .../webkitpy/common/newstringio_unittest.py | 46 + .../Scripts/webkitpy/common/system/executive.py | 4 +- .../webkitpy/common/system/executive_mock.py | 55 + .../Scripts/webkitpy/common/system/file_lock.py | 83 + .../webkitpy/common/system/file_lock_unittest.py | 61 + .../webkitpy/common/system/filesystem_mock.py | 75 + .../layout_package/dump_render_tree_thread.py | 147 +- .../json_layout_results_generator.py | 8 +- .../layout_package/json_results_generator.py | 122 +- .../json_results_generator_unittest.py | 135 +- .../layout_tests/layout_package/printing.py | 4 +- .../layout_tests/layout_package/test_output.py | 56 + .../Scripts/webkitpy/layout_tests/port/base.py | 197 +- .../webkitpy/layout_tests/port/base_unittest.py | 66 +- .../Scripts/webkitpy/layout_tests/port/chromium.py | 18 +- .../webkitpy/layout_tests/port/chromium_gpu.py | 7 +- .../Scripts/webkitpy/layout_tests/port/config.py | 68 +- .../webkitpy/layout_tests/port/config_mock.py | 50 + .../layout_tests/port/config_standalone.py | 70 + .../webkitpy/layout_tests/port/config_unittest.py | 167 +- .../Scripts/webkitpy/layout_tests/port/dryrun.py | 11 +- .../layout_tests/port/google_chrome_unittest.py | 5 +- .../webkitpy/layout_tests/port/http_lock.py | 40 +- .../Scripts/webkitpy/layout_tests/port/test.py | 14 +- .../Scripts/webkitpy/layout_tests/port/webkit.py | 30 +- .../webkitpy/layout_tests/run_webkit_tests.py | 95 +- .../layout_tests/run_webkit_tests_unittest.py | 50 +- .../webkitpy/layout_tests/test_types/image_diff.py | 123 +- .../layout_tests/test_types/test_type_base.py | 10 +- .../webkitpy/layout_tests/test_types/text_diff.py | 22 +- WebKitTools/Scripts/webkitpy/style/checker.py | 16 +- .../Scripts/webkitpy/style/checker_unittest.py | 27 +- WebKitTools/Scripts/webkitpy/style/checkers/cpp.py | 205 +- .../webkitpy/style/checkers/cpp_unittest.py | 98 +- WebKitTools/Scripts/webkitpy/tool/bot/feeders.py | 2 +- .../Scripts/webkitpy/tool/commands/__init__.py | 8 +- .../tool/commands/data/rebaselineserver/index.html | 105 +- .../tool/commands/data/rebaselineserver/loupe.js | 144 + .../tool/commands/data/rebaselineserver/main.css | 159 +- .../tool/commands/data/rebaselineserver/main.js | 363 + .../tool/commands/data/rebaselineserver/util.js | 57 + .../Scripts/webkitpy/tool/commands/download.py | 2 - .../webkitpy/tool/commands/download_unittest.py | 9 +- .../Scripts/webkitpy/tool/commands/queues.py | 7 +- .../webkitpy/tool/commands/rebaselineserver.py | 49 +- WebKitTools/Scripts/webkitpy/tool/main.py | 13 +- WebKitTools/Scripts/webkitpy/tool/mocktool.py | 1 + WebKitTools/Scripts/webkitpy/tool/steps/commit.py | 8 +- WebKitTools/TestWebKitAPI/win/TestWebKitAPI.vcproj | 67 +- .../WebKitLauncherWin/WebKitLauncherWin.vcproj | 65 +- .../WebKitLauncherWinCommon.vsprops | 12 + WebKitTools/WebKitTestRunner/TestController.cpp | 1 + WebKitTools/WebKitTestRunner/TestController.h | 1 + WebKitTools/WebKitTestRunner/TestInvocation.cpp | 3 + .../WebKitTestRunner/mac/TestControllerMac.mm | 4 + .../WebKitTestRunner/qt/TestControllerQt.cpp | 48 +- .../WebKitTestRunner/win/InjectedBundle.vcproj | 63 +- .../WebKitTestRunner/win/TestControllerWin.cpp | 4 + .../WebKitTestRunner/win/WebKitTestRunner.vcproj | 73 +- WebKitTools/WinLauncher/WinLauncher.cpp | 7 +- WebKitTools/WinLauncher/WinLauncher.vcproj | 159 +- WebKitTools/WinLauncher/WinLauncherCommon.vsprops | 24 + .../record-memory-win/record-memory-win.vcproj | 76 + 1060 files changed, 49311 insertions(+), 22831 deletions(-) create mode 100644 JavaScriptCore/wtf/text/TextPosition.h create mode 100644 JavaScriptGlue/ForwardingHeaders/wtf/text/TextPosition.h create mode 100644 LayoutTests/fast/dom/Geolocation/script-tests/timestamp.js create mode 100644 LayoutTests/fast/dom/Geolocation/timestamp-expected.txt create mode 100644 LayoutTests/fast/dom/Geolocation/timestamp.html create mode 100644 WebCore/ForwardingHeaders/wtf/text/TextPosition.h create mode 100644 WebCore/WebCore.vcproj/QTMovieWinCommon.vsprops create mode 100644 WebCore/bindings/js/JSAudioContextCustom.cpp create mode 100644 WebCore/bindings/js/JSAudioNodeCustom.cpp delete mode 100644 WebCore/bindings/js/JSSVGMatrixCustom.cpp create mode 100644 WebCore/bindings/v8/custom/V8AudioContextCustom.cpp create mode 100644 WebCore/bindings/v8/custom/V8AudioNodeCustom.cpp delete mode 100644 WebCore/bindings/v8/custom/V8SVGMatrixCustom.cpp delete mode 100644 WebCore/css/CSSVariableDependentValue.cpp delete mode 100644 WebCore/css/CSSVariableDependentValue.h delete mode 100644 WebCore/css/CSSVariablesDeclaration.cpp delete mode 100644 WebCore/css/CSSVariablesDeclaration.h delete mode 100644 WebCore/css/CSSVariablesDeclaration.idl delete mode 100644 WebCore/css/CSSVariablesRule.cpp delete mode 100644 WebCore/css/CSSVariablesRule.h delete mode 100644 WebCore/css/CSSVariablesRule.idl create mode 100644 WebCore/dom/DOMTimeStamp.h create mode 100644 WebCore/dom/EventContext.cpp create mode 100644 WebCore/dom/EventContext.h create mode 100644 WebCore/dom/WindowEventContext.cpp create mode 100644 WebCore/dom/WindowEventContext.h create mode 100644 WebCore/fileapi/FileWriterSync.cpp create mode 100644 WebCore/fileapi/FileWriterSync.h create mode 100644 WebCore/fileapi/FileWriterSync.idl delete mode 100644 WebCore/inspector/front-end/Images/storageIcon.png create mode 100644 WebCore/inspector/front-end/ResourcesPanel.js delete mode 100644 WebCore/inspector/front-end/StoragePanel.js create mode 100644 WebCore/loader/ResourceLoadScheduler.cpp create mode 100644 WebCore/loader/ResourceLoadScheduler.h create mode 100644 WebCore/manual-tests/compositing/caret-in-compositing-frame.html create mode 100644 WebCore/manual-tests/compositing/resources/editable-compositing-subframe.html create mode 100644 WebCore/manual-tests/display-none-option.html create mode 100644 WebCore/manual-tests/print-onload-with-image.html create mode 100644 WebCore/manual-tests/select-scroll.html create mode 100644 WebCore/manual-tests/svg-deep-clone-to-new-doc.html create mode 100644 WebCore/page/GeolocationClient.h delete mode 100644 WebCore/page/GeolocationControllerClient.h delete mode 100644 WebCore/page/Navigation.cpp delete mode 100644 WebCore/page/Navigation.h delete mode 100644 WebCore/page/Navigation.idl create mode 100644 WebCore/page/PerformanceNavigation.cpp create mode 100644 WebCore/page/PerformanceNavigation.h create mode 100644 WebCore/page/PerformanceNavigation.idl create mode 100644 WebCore/page/PerformanceTiming.cpp create mode 100644 WebCore/page/PerformanceTiming.h create mode 100644 WebCore/page/PerformanceTiming.idl delete mode 100644 WebCore/page/Timing.cpp delete mode 100644 WebCore/page/Timing.h delete mode 100644 WebCore/page/Timing.idl create mode 100644 WebCore/platform/audio/mac/AudioBusMac.mm create mode 100644 WebCore/platform/graphics/FontBaseline.h delete mode 100644 WebCore/platform/graphics/cairo/FontCacheFreeType.cpp delete mode 100644 WebCore/platform/graphics/cairo/FontCustomPlatformData.cpp delete mode 100644 WebCore/platform/graphics/cairo/FontPlatformData.h delete mode 100644 WebCore/platform/graphics/cairo/FontPlatformDataFreeType.cpp delete mode 100644 WebCore/platform/graphics/cairo/FontPlatformDataFreeType.h delete mode 100644 WebCore/platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp delete mode 100644 WebCore/platform/graphics/cairo/SimpleFontDataCairo.cpp create mode 100644 WebCore/platform/graphics/chromium/RenderSurfaceChromium.cpp create mode 100644 WebCore/platform/graphics/chromium/RenderSurfaceChromium.h create mode 100644 WebCore/platform/graphics/freetype/FontCacheFreeType.cpp create mode 100644 WebCore/platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp create mode 100644 WebCore/platform/graphics/freetype/FontPlatformData.h create mode 100644 WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp create mode 100644 WebCore/platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp create mode 100644 WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp create mode 100644 WebCore/platform/graphics/gstreamer/ImageGStreamerQt.cpp create mode 100644 WebCore/platform/graphics/gstreamer/PlatformVideoWindowPrivate.h create mode 100644 WebCore/platform/graphics/gstreamer/PlatformVideoWindowQt.cpp delete mode 100644 WebCore/platform/graphics/gtk/FontCachePango.cpp delete mode 100644 WebCore/platform/graphics/gtk/FontCustomPlatformDataPango.cpp delete mode 100644 WebCore/platform/graphics/gtk/FontPlatformDataPango.cpp delete mode 100644 WebCore/platform/graphics/gtk/FontPlatformDataPango.h delete mode 100644 WebCore/platform/graphics/gtk/GlyphPageTreeNodePango.cpp delete mode 100644 WebCore/platform/graphics/gtk/SimpleFontDataPango.cpp delete mode 100644 WebCore/platform/graphics/mac/GraphicsLayerCA.h delete mode 100644 WebCore/platform/graphics/mac/GraphicsLayerCA.mm create mode 100644 WebCore/platform/graphics/mac/GraphicsLayerMac.h create mode 100644 WebCore/platform/graphics/mac/GraphicsLayerMac.mm create mode 100644 WebCore/platform/graphics/pango/FontCachePango.cpp create mode 100644 WebCore/platform/graphics/pango/FontCustomPlatformDataPango.cpp create mode 100644 WebCore/platform/graphics/pango/FontPlatformData.h create mode 100644 WebCore/platform/graphics/pango/FontPlatformDataPango.cpp create mode 100644 WebCore/platform/graphics/pango/GlyphPageTreeNodePango.cpp create mode 100644 WebCore/platform/graphics/pango/SimpleFontDataPango.cpp delete mode 100644 WebCore/platform/graphics/win/FontPlatformDataCairoWin.h create mode 100644 WebCore/platform/graphics/win/cairo/FontPlatformData.h create mode 100644 WebCore/platform/gtk/WidgetRenderingContext.h create mode 100644 WebCore/platform/gtk/WidgetRenderingContextGtk2.cpp create mode 100644 WebCore/platform/gtk/WidgetRenderingContextGtk3.cpp create mode 100644 WebCore/platform/mac/ScrollAnimatorMac.cpp create mode 100644 WebCore/platform/mac/ScrollAnimatorMac.h delete mode 100644 WebCore/platform/wince/EditorWinCE.cpp create mode 100644 WebCore/rendering/VerticalPositionCache.h create mode 100644 WebCore/svg/SVGAnimatedTransformList.h create mode 100644 WebCore/svg/SVGMatrix.h create mode 100644 WebCore/svg/properties/SVGAnimatedTransformListPropertyTearOff.h create mode 100644 WebCore/svg/properties/SVGStaticPropertyWithParentTearOff.h create mode 100644 WebCore/svg/properties/SVGTransformListPropertyTearOff.h create mode 100644 WebCore/webaudio/JavaScriptAudioNode.cpp create mode 100644 WebCore/webaudio/JavaScriptAudioNode.h create mode 100644 WebCore/webaudio/JavaScriptAudioNode.idl create mode 100644 WebKit/chromium/scripts/concatenate_css_files.py create mode 100644 WebKit/chromium/scripts/concatenate_js_files.py create mode 100644 WebKit/chromium/scripts/generate_devtools_html.py create mode 100644 WebKit/chromium/src/WorkerAsyncFileWriterChromium.cpp create mode 100644 WebKit/chromium/src/WorkerAsyncFileWriterChromium.h create mode 100644 WebKit/chromium/src/WorkerFileWriterCallbacksBridge.cpp create mode 100644 WebKit/chromium/src/WorkerFileWriterCallbacksBridge.h create mode 100644 WebKit/mac/WebCoreSupport/WebGeolocationClient.h create mode 100644 WebKit/mac/WebCoreSupport/WebGeolocationClient.mm delete mode 100644 WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.h delete mode 100644 WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.mm create mode 100644 WebKit/win/WebCoreSupport/WebGeolocationClient.cpp create mode 100644 WebKit/win/WebCoreSupport/WebGeolocationClient.h delete mode 100644 WebKit/win/WebCoreSupport/WebGeolocationControllerClient.cpp delete mode 100644 WebKit/win/WebCoreSupport/WebGeolocationControllerClient.h create mode 100644 WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops create mode 100644 WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops delete mode 100644 WebKit/win/WebKit.vcproj/WebKit_debug.def create mode 100644 WebKitTools/DumpRenderTree/ForwardingHeaders/wtf/CurrentTime.h create mode 100644 WebKitTools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePluginCommon.vsprops create mode 100644 WebKitTools/DumpRenderTree/win/DumpRenderTreeApple.vsprops create mode 100644 WebKitTools/DumpRenderTree/win/DumpRenderTreeCFLite.vsprops create mode 100644 WebKitTools/DumpRenderTree/win/DumpRenderTreeCairo.vsprops create mode 100644 WebKitTools/DumpRenderTree/win/DumpRenderTreeCommon.vsprops create mode 100644 WebKitTools/DumpRenderTree/win/ImageDiffCommon.vsprops create mode 100644 WebKitTools/FindSafari/FindSafariCommon.vsprops create mode 100644 WebKitTools/MiniBrowser/MiniBrowser.qrc create mode 100644 WebKitTools/Scripts/webkitpy/common/config/build.py create mode 100644 WebKitTools/Scripts/webkitpy/common/config/build_unittest.py create mode 100644 WebKitTools/Scripts/webkitpy/common/config/committervalidator.py create mode 100644 WebKitTools/Scripts/webkitpy/common/config/committervalidator_unittest.py delete mode 100644 WebKitTools/Scripts/webkitpy/common/net/bugzilla.py create mode 100644 WebKitTools/Scripts/webkitpy/common/net/bugzilla/__init__.py create mode 100644 WebKitTools/Scripts/webkitpy/common/net/bugzilla/attachment.py create mode 100644 WebKitTools/Scripts/webkitpy/common/net/bugzilla/bug.py create mode 100644 WebKitTools/Scripts/webkitpy/common/net/bugzilla/bug_unittest.py create mode 100644 WebKitTools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py create mode 100644 WebKitTools/Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py delete mode 100644 WebKitTools/Scripts/webkitpy/common/net/bugzilla_unittest.py create mode 100644 WebKitTools/Scripts/webkitpy/common/newstringio.py create mode 100644 WebKitTools/Scripts/webkitpy/common/newstringio_unittest.py create mode 100644 WebKitTools/Scripts/webkitpy/common/system/executive_mock.py create mode 100644 WebKitTools/Scripts/webkitpy/common/system/file_lock.py create mode 100644 WebKitTools/Scripts/webkitpy/common/system/file_lock_unittest.py create mode 100644 WebKitTools/Scripts/webkitpy/common/system/filesystem_mock.py create mode 100644 WebKitTools/Scripts/webkitpy/layout_tests/layout_package/test_output.py create mode 100644 WebKitTools/Scripts/webkitpy/layout_tests/port/config_mock.py create mode 100644 WebKitTools/Scripts/webkitpy/layout_tests/port/config_standalone.py create mode 100644 WebKitTools/Scripts/webkitpy/tool/commands/data/rebaselineserver/loupe.js create mode 100644 WebKitTools/Scripts/webkitpy/tool/commands/data/rebaselineserver/util.js create mode 100644 WebKitTools/WebKitLauncherWin/WebKitLauncherWinCommon.vsprops create mode 100644 WebKitTools/WinLauncher/WinLauncherCommon.vsprops diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog index 8f663ff..bf45cd8 100644 --- a/JavaScriptCore/ChangeLog +++ b/JavaScriptCore/ChangeLog @@ -1,3 +1,755 @@ +2010-11-17 Sam Weinig + + Reviewed by Anders Carlsson. + + Add stubbed out ScrollAnimator for the Mac + https://bugs.webkit.org/show_bug.cgi?id=49678 + + * wtf/Platform.h: Enable SMOOTH_SCROLLING on the Mac, this has no + change in behavior at the moment. + +2010-11-17 David Kilzer + + Make overflow guards in WTF::String::utf8 explicit + + Reviewed by Darin Adler. + + Add an explicit overflow check prior to allocating our buffer, + rather than implicitly relying on the guard in convertUTF16ToUTF8. + + * wtf/text/WTFString.cpp: + (WTF::String::utf8): + +2010-11-17 Sheriff Bot + + Unreviewed, rolling out r72197. + http://trac.webkit.org/changeset/72197 + https://bugs.webkit.org/show_bug.cgi?id=49661 + + broke fast/regex/test1.html (Requested by stampho on #webkit). + + * runtime/JSGlobalData.h: + * runtime/RegExp.cpp: + (JSC::RegExpRepresentation::~RegExpRepresentation): + (JSC::RegExp::compile): + (JSC::RegExp::match): + * tests/mozilla/expected.html: + * wtf/Platform.h: + * yarr/RegexCompiler.cpp: + * yarr/RegexCompiler.h: + * yarr/RegexInterpreter.cpp: + * yarr/RegexInterpreter.h: + * yarr/RegexJIT.cpp: + (JSC::Yarr::jitCompileRegex): + * yarr/RegexJIT.h: + (JSC::Yarr::RegexCodeBlock::RegexCodeBlock): + (JSC::Yarr::RegexCodeBlock::~RegexCodeBlock): + (JSC::Yarr::RegexCodeBlock::getFallback): + (JSC::Yarr::RegexCodeBlock::setFallback): + (JSC::Yarr::executeRegex): + * yarr/RegexParser.h: + * yarr/RegexPattern.h: + +2010-11-17 Peter Varga + + Reviewed by Gavin Barraclough. + + YARR JIT should fallback to YARR Interpreter instead of PCRE. + https://bugs.webkit.org/show_bug.cgi?id=46719 + + Remove the ENABLE_YARR macro and the option of matching regular + expressions with PCRE from JavaScriptCore. + + * runtime/JSGlobalData.h: + * runtime/RegExp.cpp: + (JSC::RegExp::compile): + (JSC::RegExp::match): + * tests/mozilla/expected.html: + * wtf/Platform.h: + * yarr/RegexCompiler.cpp: + * yarr/RegexCompiler.h: + * yarr/RegexInterpreter.cpp: + (JSC::Yarr::byteCompileRegex): + * yarr/RegexInterpreter.h: + * yarr/RegexJIT.cpp: + (JSC::Yarr::jitCompileRegex): + * yarr/RegexJIT.h: + (JSC::Yarr::RegexCodeBlock::RegexCodeBlock): + (JSC::Yarr::RegexCodeBlock::~RegexCodeBlock): + (JSC::Yarr::RegexCodeBlock::getFallback): + (JSC::Yarr::RegexCodeBlock::isFallback): + (JSC::Yarr::RegexCodeBlock::setFallback): + (JSC::Yarr::executeRegex): + * yarr/RegexParser.h: + * yarr/RegexPattern.h: + +2010-11-17 Peter Varga + + Reviewed by Gavin Barraclough. + + Extend YARR Interpreter with beginning character look-up optimization + https://bugs.webkit.org/show_bug.cgi?id=45751 + + Add beginning character look-up optimization which sets the start + index to the first possible successful pattern match. + Extend YARR Interpreter with lookupForBeginChars function which + implements the beginning character look-up optimization. + + * yarr/RegexInterpreter.cpp: + (JSC::Yarr::Interpreter::InputStream::readPair): + (JSC::Yarr::Interpreter::InputStream::isNotAvailableInput): + (JSC::Yarr::Interpreter::lookupForBeginChars): + (JSC::Yarr::Interpreter::matchDisjunction): + (JSC::Yarr::Interpreter::interpret): + * yarr/RegexInterpreter.h: + (JSC::Yarr::BytecodePattern::BytecodePattern): + +2010-11-17 Alexis Menard , Simon Hausmann + + Reviewed by Kenneth Christiansen, Tor Arne Vestbø. + + [Qt] Add support for use GStreamer with the Qt build + + Enable the build/inclusion of the wtf/QObject convenience classes. + + * JavaScriptCore.pri: + * wtf/wtf.pri: + +2010-11-17 Peter Varga + + Reviewed by Gavin Barraclough. + + Collect the beginning characters in a RegExp pattern for look-up + optimization + https://bugs.webkit.org/show_bug.cgi?id=45748 + + Extend the YARR's parser with an algorithm which collects the potential + beginning characters from a RegExp pattern for later look-up optimization. + + * yarr/RegexCompiler.cpp: + (JSC::Yarr::BeginCharHelper::BeginCharHelper): + (JSC::Yarr::BeginCharHelper::addBeginChar): + (JSC::Yarr::BeginCharHelper::merge): + (JSC::Yarr::BeginCharHelper::addCharacter): + (JSC::Yarr::BeginCharHelper::linkHotTerms): + (JSC::Yarr::RegexPatternConstructor::RegexPatternConstructor): + (JSC::Yarr::RegexPatternConstructor::addBeginTerm): + (JSC::Yarr::RegexPatternConstructor::setupDisjunctionBeginTerms): + (JSC::Yarr::RegexPatternConstructor::setupAlternativeBeginTerms): + (JSC::Yarr::RegexPatternConstructor::setupBeginChars): + (JSC::Yarr::compileRegex): + * yarr/RegexPattern.h: + (JSC::Yarr::TermChain::TermChain): + (JSC::Yarr::BeginChar::BeginChar): + (JSC::Yarr::RegexPattern::RegexPattern): + (JSC::Yarr::RegexPattern::reset): + +2010-11-17 Sheriff Bot + + Unreviewed, rolling out r72160. + http://trac.webkit.org/changeset/72160 + https://bugs.webkit.org/show_bug.cgi?id=49646 + + Broke lots of fast/profiler tests, among others (Requested by + aroben on #webkit). + + * bytecode/CodeBlock.cpp: + (JSC::CodeBlock::dump): + (JSC::CodeBlock::functionRegisterForBytecodeOffset): + (JSC::CodeBlock::shrinkToFit): + * bytecode/CodeBlock.h: + (JSC::CodeBlock::addFunctionRegisterInfo): + * bytecode/Opcode.h: + * bytecompiler/BytecodeGenerator.cpp: + (JSC::BytecodeGenerator::BytecodeGenerator): + (JSC::BytecodeGenerator::emitCall): + (JSC::BytecodeGenerator::emitCallVarargs): + (JSC::BytecodeGenerator::emitReturn): + (JSC::BytecodeGenerator::emitConstruct): + * bytecompiler/BytecodeGenerator.h: + (JSC::CallArguments::profileHookRegister): + * bytecompiler/NodesCodegen.cpp: + (JSC::CallArguments::CallArguments): + * interpreter/Interpreter.cpp: + (JSC::Interpreter::unwindCallFrame): + (JSC::Interpreter::throwException): + (JSC::Interpreter::execute): + (JSC::Interpreter::executeCall): + (JSC::Interpreter::executeConstruct): + (JSC::Interpreter::privateExecute): + * jit/JIT.cpp: + (JSC::JIT::privateCompileMainPass): + * jit/JIT.h: + * jit/JITOpcodes.cpp: + (JSC::JIT::emit_op_profile_will_call): + (JSC::JIT::emit_op_profile_did_call): + * jit/JITOpcodes32_64.cpp: + (JSC::JIT::emit_op_profile_will_call): + (JSC::JIT::emit_op_profile_did_call): + * jit/JITStubs.cpp: + (JSC::DEFINE_STUB_FUNCTION): + * jit/JITStubs.h: + * profiler/Profile.cpp: + (JSC::Profile::Profile): + * profiler/ProfileGenerator.cpp: + (JSC::ProfileGenerator::addParentForConsoleStart): + (JSC::ProfileGenerator::willExecute): + (JSC::ProfileGenerator::didExecute): + (JSC::ProfileGenerator::stopProfiling): + * profiler/ProfileGenerator.h: + * profiler/ProfileNode.cpp: + (JSC::ProfileNode::ProfileNode): + (JSC::ProfileNode::willExecute): + * profiler/ProfileNode.h: + (JSC::ProfileNode::create): + (JSC::ProfileNode::operator==): + * profiler/Profiler.cpp: + (JSC::dispatchFunctionToProfiles): + (JSC::Profiler::willExecute): + (JSC::Profiler::didExecute): + * profiler/Profiler.h: + +2010-11-16 Gavin Barraclough + + Reviewed by Sam Weinig. + + Bug 49635 - Profiler implementation is fragile + + The profile presently requires the exception handling mechanism to explicitly + remove all stack frames that are exited during the exception unwind mechanism. + This is fragile in a number of ways: + * We have to change bytecode register allocation when compiling code to run + when profiling, to preserve the callee function (this is also required to + call did_call after the call has returned). + * In the JIT we have to maintain additional data structures + (CodeBlock::RareData::m_functionRegisterInfos) to map back to the register + containing the callee. + * In the interpreter we use 'magic values' to offset into the instruction + stream to rediscover the register containing the function. + + Instead, move profiling into the head and tail of functions. + * This correctly accounts the cost of the call itself to the caller. + * This allows us to access the callee function object from the callframe. + * This means that at the point a call is made we can track the stack depth + on the ProfileNode. + * When unwinding we can simply report the depth at which the exception is + being handled - all call frames above this level are freed. + + * JavaScriptCore.xcodeproj/project.pbxproj: + * bytecode/CodeBlock.cpp: + (JSC::CodeBlock::dump): + (JSC::CodeBlock::shrinkToFit): + * bytecode/CodeBlock.h: + (JSC::CodeBlock::bytecodeOffset): + (JSC::CodeBlock::methodCallLinkInfo): + * bytecode/Opcode.h: + * bytecompiler/BytecodeGenerator.cpp: + (JSC::BytecodeGenerator::BytecodeGenerator): + (JSC::BytecodeGenerator::emitCall): + (JSC::BytecodeGenerator::emitCallVarargs): + (JSC::BytecodeGenerator::emitReturn): + (JSC::BytecodeGenerator::emitConstruct): + * bytecompiler/BytecodeGenerator.h: + (JSC::CallArguments::count): + * bytecompiler/NodesCodegen.cpp: + (JSC::CallArguments::CallArguments): + * interpreter/Interpreter.cpp: + (JSC::ProfileHostCall::ProfileHostCall): + (JSC::ProfileHostCall::~ProfileHostCall): + (JSC::Interpreter::unwindCallFrame): + (JSC::Interpreter::throwException): + (JSC::Interpreter::execute): + (JSC::Interpreter::executeCall): + (JSC::Interpreter::executeConstruct): + (JSC::Interpreter::privateExecute): + * jit/JIT.cpp: + (JSC::JIT::privateCompileMainPass): + * jit/JIT.h: + * jit/JITOpcodes.cpp: + (JSC::JIT::emit_op_profile_has_called): + (JSC::JIT::emit_op_profile_will_return): + * jit/JITOpcodes32_64.cpp: + (JSC::JIT::emit_op_profile_has_called): + (JSC::JIT::emit_op_profile_will_return): + * jit/JITStubs.cpp: + (JSC::DEFINE_STUB_FUNCTION): + * jit/JITStubs.h: + * profiler/Profile.cpp: + (JSC::Profile::Profile): + * profiler/ProfileGenerator.cpp: + (JSC::ProfileGenerator::addParentForConsoleStart): + (JSC::ProfileGenerator::willExecute): + (JSC::ProfileGenerator::didExecute): + (JSC::ProfileGenerator::exceptionUnwind): + (JSC::ProfileGenerator::stopProfiling): + * profiler/ProfileGenerator.h: + * profiler/ProfileNode.cpp: + (JSC::ProfileNode::ProfileNode): + (JSC::ProfileNode::willExecute): + * profiler/ProfileNode.h: + (JSC::ProfileNode::create): + (JSC::ProfileNode::operator==): + (JSC::ProfileNode::exec): + * profiler/Profiler.cpp: + (JSC::dispatchFunctionToProfiles): + (JSC::Profiler::hasCalled): + (JSC::Profiler::willEvaluate): + (JSC::Profiler::willReturn): + (JSC::Profiler::didEvaluate): + (JSC::Profiler::exceptionUnwind): + * profiler/Profiler.h: + +2010-11-16 Brian Weinstein + + Reviewed by Adam Roben and Steve Falkenburg. + + Touch Platform.h to force a rebuild for Windows. + + * wtf/Platform.h: + +2010-11-16 Steve Falkenburg + + Reviewed by Adam Roben. + + Disable LTCG for Windows Release builds. Add new Release_LTCG configuration. + https://bugs.webkit.org/show_bug.cgi?id=49632 + + * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: + * JavaScriptCore.vcproj/WTF/WTF.vcproj: + * JavaScriptCore.vcproj/jsc/jsc.vcproj: + * JavaScriptCore.vcproj/testapi/testapi.vcproj: + +2010-11-16 Peter Varga + + Reviewed by Gavin Barraclough. + + The number of recursive match calls isn't limited in YARR Interpreter + https://bugs.webkit.org/show_bug.cgi?id=47906 + + Check the number of the matchDisjunction recursive calls to avoid unbounded + recursion. + Now the matchDisjunction function returns JSRegExpResult instead of bool. + The JSRegExpResult enum contains the result of matching or the error code + of the failure (like HitLimit) which terminates the matching. + The error codes are based on pcre's jsRegExpExecute error codes. + + * yarr/RegexInterpreter.cpp: + (JSC::Yarr::Interpreter::parenthesesDoBacktrack): + (JSC::Yarr::Interpreter::matchParentheses): + (JSC::Yarr::Interpreter::backtrackParentheses): + (JSC::Yarr::Interpreter::matchDisjunction): + (JSC::Yarr::Interpreter::matchNonZeroDisjunction): + (JSC::Yarr::Interpreter::interpret): + (JSC::Yarr::Interpreter::Interpreter): + * yarr/RegexInterpreter.h: + +2010-11-16 Brian Weinstein + + Rest of the Windows build fix. + + * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: + +2010-11-16 Gavin Barraclough + + Windows build fix pt 1. + + * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: + +2010-11-16 Gavin Barraclough + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=49606 + + The bug here is that we read the prototype from the RHS argument using a regular + op_get_by_id before op_instanceof has checked that this is an object implementing + HasInstance. This incorrect behaviour gives rise to further unnecessary complexity + in the code base, since we have additional logic (implemented using the + GetByIdExceptionInfo data structures on CodeBlock) to convert not an object errors + from the get_by_id into invalid parameter errors. Having fixed this bug this code + is all redundant, since in these cases the get_by_id will never have been reached. + + * bytecode/CodeBlock.cpp: + (JSC::CodeBlock::dump): + (JSC::CodeBlock::shrinkToFit): + * bytecode/CodeBlock.h: + (JSC::CodeBlock::addExpressionInfo): + * bytecode/Opcode.h: + * bytecompiler/BytecodeGenerator.cpp: + (JSC::BytecodeGenerator::BytecodeGenerator): + (JSC::BytecodeGenerator::emitCheckHasInstance): + * bytecompiler/BytecodeGenerator.h: + * bytecompiler/NodesCodegen.cpp: + (JSC::InstanceOfNode::emitBytecode): + * interpreter/Interpreter.cpp: + (JSC::Interpreter::throwException): + (JSC::Interpreter::privateExecute): + * jit/JIT.cpp: + (JSC::JIT::privateCompileMainPass): + (JSC::JIT::privateCompileSlowCases): + * jit/JIT.h: + * jit/JITOpcodes.cpp: + (JSC::JIT::emit_op_check_has_instance): + (JSC::JIT::emit_op_instanceof): + (JSC::JIT::emitSlow_op_check_has_instance): + (JSC::JIT::emitSlow_op_instanceof): + * jit/JITOpcodes32_64.cpp: + (JSC::JIT::emit_op_check_has_instance): + (JSC::JIT::emit_op_instanceof): + (JSC::JIT::emitSlow_op_check_has_instance): + (JSC::JIT::emitSlow_op_instanceof): + * jit/JITStubs.cpp: + (JSC::DEFINE_STUB_FUNCTION): + * jit/JITStubs.h: + * runtime/ExceptionHelpers.cpp: + (JSC::createInterruptedExecutionException): + (JSC::createTerminatedExecutionException): + (JSC::createUndefinedVariableError): + (JSC::createNotAFunctionError): + (JSC::createNotAnObjectError): + * runtime/ExceptionHelpers.h: + * runtime/JSGlobalData.cpp: + (JSC::JSGlobalData::JSGlobalData): + * runtime/JSGlobalData.h: + * runtime/JSNotAnObject.cpp: + (JSC::JSNotAnObject::toPrimitive): + (JSC::JSNotAnObject::getPrimitiveNumber): + (JSC::JSNotAnObject::toBoolean): + (JSC::JSNotAnObject::toNumber): + (JSC::JSNotAnObject::toString): + (JSC::JSNotAnObject::toObject): + (JSC::JSNotAnObject::getOwnPropertySlot): + (JSC::JSNotAnObject::getOwnPropertyDescriptor): + (JSC::JSNotAnObject::put): + (JSC::JSNotAnObject::deleteProperty): + (JSC::JSNotAnObject::getOwnPropertyNames): + * runtime/JSNotAnObject.h: + (JSC::JSNotAnObject::JSNotAnObject): + * runtime/JSObject.h: + (JSC::JSObject::isActivationObject): + * runtime/JSValue.cpp: + (JSC::JSValue::toObjectSlowCase): + (JSC::JSValue::synthesizeObject): + (JSC::JSValue::synthesizePrototype): + +2010-11-15 Darin Adler + + Reviewed by Sam Weinig. + + Harden additional string functions against large lengths + https://bugs.webkit.org/show_bug.cgi?id=49574 + + * wtf/text/CString.cpp: + (WTF::CString::init): Check for length that is too large for CString. + (WTF::CString::newUninitialized): Ditto. + (WTF::CString::copyBufferIfNeeded): Fix types so the length stays + in a size_t. + + * wtf/text/WTFString.cpp: + (WTF::String::append): Check for length that is too large. + +2010-11-15 Gavin Barraclough + + Reviewed by Sam Weinig. + + Bug 49577 - Function.prototype should be non-configurable + + JSC lazily allocates the prototype property of Function objects. + + We check the prototype exists on 'get', but not on 'put'. + If you 'put' without having first done a 'get' you can end up with a configurable + prototype (prototype should only ever be non-configurable). + + This is visible in a couple of ways: + * 'delete' on the property may succeed. (the next access will result in a new, + reset prototype object). + * the prototype may be set to a getter. + + * runtime/JSFunction.cpp: + (JSC::JSFunction::getOwnPropertyNames): + Reify the prototype property before allowing an enumerate including don't enum properties. + (JSC::JSFunction::put): + Reify the prototype property before any put to it. + +2010-11-15 Gavin Barraclough + + Reviewed by Geoff Garen. + + Bug 49488 - Only add source specific information to exceptions in Interpreter::throwException + + Three types of source location information are added to errors. + + (1) Divot information. + + This was added with the intention of using it to provide better source highlighting in the inspector. + We may still want to do so, but we probably should not be exposing these values in a manner visible to + user scripts – only through an internal C++ interface. The code adding divot properties to objects has + been removed. + + (2) Line number information. + + Line number information is presently sometimes added at the point the exception is created, and sometimes + added at the point the exception passes through throwException. Change this so that throwException has + the sole responsibility for adding line number and source file information. + + (3) Source snippets in the message of certain type errors (e.g. 'doc' in `Result of expression 'doc' [undefined] is not an object.`). + + These messages are currently created at the point the exceptions is raised. Instead reformat the message + such that the source snippet is located at the end (`Result of expression 'b1' [undefined] is not an object.` + becomes `'undefined' is not an object (evaluating 'b1.property')`), and append these to the message at + the in throw Exception. This presents a number of advantages: + * we no longer need to have source location information to create these TypeErrors. + * we can chose to append source location information in other error messages, including those where + passing source location to the point of construction would be inconvenient. + * we can chose in future to omit to append source location information when running in a non-debug mode. + + This also cleans up some error output, e.g. removing double brackets ('[[]]') around objects in output, + removing double periods (..) at end of lines, and adding slightly more context to some errors. + + * bytecode/CodeBlock.cpp: + (JSC::CodeBlock::expressionRangeForBytecodeOffset): + - Separated called to access line and range information. + + * bytecode/CodeBlock.h: + - Separated called to access line and range information. + + * interpreter/Interpreter.cpp: + (JSC::Interpreter::resolve): + (JSC::Interpreter::resolveSkip): + (JSC::Interpreter::resolveGlobal): + (JSC::Interpreter::resolveGlobalDynamic): + (JSC::Interpreter::resolveBaseAndProperty): + (JSC::isInvalidParamForIn): + (JSC::isInvalidParamForInstanceOf): + - Update parameters passed to error constructors. + (JSC::appendSourceToError): + - Update message property to add location information (previously added in createErrorMessage, in ExceptionHelpers) + (JSC::Interpreter::throwException): + - Updated to call appendSourceToError. + (JSC::Interpreter::privateExecute): + - Update parameters passed to error constructors. + + * jit/JITStubs.cpp: + (JSC::DEFINE_STUB_FUNCTION): + - Update parameters passed to error constructors. + + * runtime/Error.cpp: + (JSC::addErrorInfo): + (JSC::hasErrorInfo): + - Removed divot properties. + + * runtime/Error.h: + - Removed divot properties. + + * runtime/ErrorInstance.cpp: + (JSC::ErrorInstance::ErrorInstance): + - Initialize new property. + + * runtime/ErrorInstance.h: + (JSC::ErrorInstance::appendSourceToMessage): + (JSC::ErrorInstance::setAppendSourceToMessage): + (JSC::ErrorInstance::clearAppendSourceToMessage): + - Added flag to check for errors needing location information appending. + (JSC::ErrorInstance::isErrorInstance): + - Added virtual method to check for ErrorInstances. + + * runtime/ExceptionHelpers.cpp: + (JSC::createUndefinedVariableError): + (JSC::createInvalidParamError): + (JSC::createNotAConstructorError): + (JSC::createNotAFunctionError): + (JSC::createNotAnObjectError): + - Update parameters passed to error constructors, stopped adding line number information early, changed TypeError messages. + + * runtime/ExceptionHelpers.h: + - Updated function signatures. + + * runtime/JSFunction.cpp: + (JSC::callHostFunctionAsConstructor): + - Update parameters passed to error constructors. + + * runtime/JSObject.h: + (JSC::JSObject::isErrorInstance): + - Added virtual method to check for ErrorInstances. + +2010-11-12 Anders Carlsson + + Reviewed by Adam Roben. + + CString(const char*) crashes when passed a null pointer + https://bugs.webkit.org/show_bug.cgi?id=49450 + + * wtf/text/CString.cpp: + (WTF::CString::CString): + Return early if str is null. + +2010-11-11 Gavin Barraclough + + Reviewed by Oliver Hunt. + + Bug 49420 - Clean up syntax/reference error throw. + + Some errors detected at compile time are thrown at runtime. We currently do so using a op_new_error/op_throw bytecode pair. + This is not ideal. op_throw is used for explicit user throw statements, and has different requirements in terms or meta data + attached to the exception (controlled by the explicitThrow parameter passed to Interpreter::throwException). To work around + this, op_new_error has to add the meta data at an early stage, which is unlike other VM exceptions being raised. + + We can simplify this and bring into line with other exception behaviour by changing new_error from just allocating an + Exception instance to also throwing it – but as a regular VM throw, correctly passing explicitThrow as false. + + * JavaScriptCore.xcodeproj/project.pbxproj: + * bytecode/CodeBlock.cpp: + (JSC::CodeBlock::dump): + (JSC::CodeBlock::expressionRangeForBytecodeOffset): + * bytecode/Opcode.h: + * bytecompiler/BytecodeGenerator.cpp: + (JSC::BytecodeGenerator::emitThrowReferenceError): + (JSC::BytecodeGenerator::emitThrowSyntaxError): + (JSC::BytecodeGenerator::emitThrowExpressionTooDeepException): + * bytecompiler/BytecodeGenerator.h: + (JSC::BytecodeGenerator::emitNodeInConditionContext): + * bytecompiler/NodesCodegen.cpp: + (JSC::ThrowableExpressionData::emitThrowReferenceError): + (JSC::ThrowableExpressionData::emitThrowSyntaxError): + (JSC::RegExpNode::emitBytecode): + (JSC::PostfixErrorNode::emitBytecode): + (JSC::PrefixErrorNode::emitBytecode): + (JSC::AssignErrorNode::emitBytecode): + (JSC::ForInNode::emitBytecode): + (JSC::ContinueNode::emitBytecode): + (JSC::BreakNode::emitBytecode): + (JSC::ReturnNode::emitBytecode): + (JSC::LabelNode::emitBytecode): + * interpreter/Interpreter.cpp: + (JSC::Interpreter::privateExecute): + * jit/JIT.cpp: + (JSC::JIT::privateCompileMainPass): + * jit/JIT.h: + * jit/JITOpcodes.cpp: + (JSC::JIT::emit_op_throw_reference_error): + (JSC::JIT::emit_op_throw_syntax_error): + * jit/JITOpcodes32_64.cpp: + (JSC::JIT::emit_op_throw_reference_error): + (JSC::JIT::emit_op_throw_syntax_error): + * jit/JITStubs.cpp: + (JSC::DEFINE_STUB_FUNCTION): + * jit/JITStubs.h: + * parser/Nodes.h: + +2010-11-11 Darin Adler + + Reviewed by Sam Weinig. + + Harden some string functions against large lengths + https://bugs.webkit.org/show_bug.cgi?id=49293 + + * wtf/text/StringImpl.cpp: + (WTF::StringImpl::create): Fix incorrect use of PassRefPtr. Check for + strlen results that are too large for StringImpl. + (WTF::StringImpl::lower): Check for lengths that are too large for + int32_t. + (WTF::StringImpl::upper): Fix incorrect use of PassRefPtr. Check for + lengths that are too large for int32_t. + (WTF::StringImpl::secure): Fix incorect use of PassRefPtr. Use unsigned + rather than int and int32_t so we can handle any length. + (WTF::StringImpl::foldCase): Fix incorrect use of PassRefPtr. Check for + lengths that are too large for int32_t. + (WTF::StringImpl::find): Check for strlen results that are too large for + StringImpl. + (WTF::StringImpl::findIgnoringCase): Ditto. + (WTF::StringImpl::replace): Fix incorrect use of PassRefPtr. + (WTF::StringImpl::createWithTerminatingNullCharacter): Check before + incrementing length. + +2010-11-11 Dan Horák + + Reviewed by Andreas Kling. + + Add support for the s390/s390x architectures, it's big-endian + with s390 being 32-bit and s390x being 64-bit. + + https://bugs.webkit.org/show_bug.cgi?id=34786 + + * wtf/Platform.h: + +2010-11-10 Csaba Osztrogonác + + Reviewed by David Hyatt. + + HTML5 Ruby support should be mandatory feature + https://bugs.webkit.org/show_bug.cgi?id=49272 + + Remove Ruby as optional feature. + + * Configurations/FeatureDefines.xcconfig: + * JavaScriptCorePrefix.h:: Touch it to avoid incremental build failure on Windows. + +2010-11-10 Peter Rybin + + Reviewed by Adam Barth. + + HTML parser should provide script column position within HTML document to JavaScript engine + https://bugs.webkit.org/show_bug.cgi?id=45271 + + Adds TextPosition* classes -- a structure that stores line/column/generation + level coordinates inside text document. Adds *BasedNumber classes -- typesafe int + wrappers that emphasize whether int number is used as zero-based or + one-based. + + * GNUmakefile.am: + * JavaScriptCore.gypi: + * JavaScriptCore.xcodeproj/project.pbxproj: + * wtf/text/TextPosition.h: Added. + (WTF::TextPosition::TextPosition): + (WTF::TextPosition::minimumPosition): + (WTF::TextPosition::belowRangePosition): + (WTF::ZeroBasedNumber::fromZeroBasedInt): + (WTF::ZeroBasedNumber::ZeroBasedNumber): + (WTF::ZeroBasedNumber::zeroBasedInt): + (WTF::ZeroBasedNumber::base): + (WTF::ZeroBasedNumber::belowBase): + (WTF::OneBasedNumber::fromOneBasedInt): + (WTF::OneBasedNumber::OneBasedNumber): + (WTF::OneBasedNumber::oneBasedInt): + (WTF::OneBasedNumber::convertAsZeroBasedInt): + (WTF::OneBasedNumber::convertToZeroBased): + (WTF::OneBasedNumber::base): + (WTF::OneBasedNumber::belowBase): + (WTF::toZeroBasedTextPosition): + (WTF::toOneBasedTextPosition): + (WTF::ZeroBasedNumber::convertToOneBased): + +2010-11-09 Gabor Loki + + Reviewed by Gavin Barraclough. + + ARM JIT asserts when loading http://reader.google.com in debug mode + https://bugs.webkit.org/show_bug.cgi?id=48912 + + There are several cases when the uninterrupted sequence is larger than + maximum required offset for pathing the same sequence. Eg.: if in a + uninterrupted sequence the last macroassembler's instruction is a stub + call, it emits store instruction(s) which should not be included in the + calculation of length of uninterrupted sequence. So, the insnSpace and + constSpace should be upper limit instead of hard limit. + + * jit/JIT.h: + * jit/JITInlineMethods.h: + (JSC::JIT::endUninterruptedSequence): + +2010-11-09 David Kilzer + + Fix include statements for local headers + + Reviewed by Gavin Barraclough. + + Use "Foo.h" instead of for local headers. + + * assembler/AbstractMacroAssembler.h: Also fixed sort order. + * assembler/CodeLocation.h: + * yarr/RegexJIT.h: + * yarr/RegexParser.h: + 2010-11-08 Adam Roben Roll out r71532 diff --git a/JavaScriptCore/Configurations/FeatureDefines.xcconfig b/JavaScriptCore/Configurations/FeatureDefines.xcconfig index d08fadf..46d5de4 100644 --- a/JavaScriptCore/Configurations/FeatureDefines.xcconfig +++ b/JavaScriptCore/Configurations/FeatureDefines.xcconfig @@ -91,9 +91,6 @@ ENABLE_NOTIFICATIONS = ; ENABLE_OFFLINE_WEB_APPLICATIONS = ENABLE_OFFLINE_WEB_APPLICATIONS; ENABLE_PROGRESS_TAG = ENABLE_PROGRESS_TAG; -ENABLE_RUBY = $(ENABLE_RUBY_$(REAL_PLATFORM_NAME)); -ENABLE_RUBY_macosx = ENABLE_RUBY; - ENABLE_SHARED_WORKERS = $(ENABLE_SHARED_WORKERS_$(REAL_PLATFORM_NAME)); ENABLE_SHARED_WORKERS_macosx = ENABLE_SHARED_WORKERS; @@ -124,4 +121,4 @@ ENABLE_XHTMLMP = ; ENABLE_XPATH = ENABLE_XPATH; ENABLE_XSLT = ENABLE_XSLT; -FEATURE_DEFINES = $(ENABLE_LINK_PREFETCH) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_3D_CANVAS) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_SYSTEM) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_IMAGE_RESIZER) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PROGRESS_TAG) $(ENABLE_RUBY) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT); +FEATURE_DEFINES = $(ENABLE_LINK_PREFETCH) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_3D_CANVAS) $(ENABLE_3D_RENDERING) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_FILE_SYSTEM) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_IMAGE_RESIZER) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PROGRESS_TAG) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT); diff --git a/JavaScriptCore/Configurations/Version.xcconfig b/JavaScriptCore/Configurations/Version.xcconfig index 8cdcafc..d4cb8e7 100644 --- a/JavaScriptCore/Configurations/Version.xcconfig +++ b/JavaScriptCore/Configurations/Version.xcconfig @@ -22,7 +22,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. MAJOR_VERSION = 534; -MINOR_VERSION = 12; +MINOR_VERSION = 13; TINY_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION); diff --git a/JavaScriptCore/GNUmakefile.am b/JavaScriptCore/GNUmakefile.am index c507f5d..f7806b4 100644 --- a/JavaScriptCore/GNUmakefile.am +++ b/JavaScriptCore/GNUmakefile.am @@ -518,6 +518,7 @@ javascriptcore_sources += \ JavaScriptCore/wtf/text/StringImpl.cpp \ JavaScriptCore/wtf/text/StringImpl.h \ JavaScriptCore/wtf/text/StringStatics.cpp \ + JavaScriptCore/wtf/text/TextPosition.h \ JavaScriptCore/wtf/text/WTFString.cpp \ JavaScriptCore/wtf/text/WTFString.h \ JavaScriptCore/wtf/ThreadIdentifierDataPthreads.cpp \ diff --git a/JavaScriptCore/JavaScriptCore.gypi b/JavaScriptCore/JavaScriptCore.gypi index 6252d07..deb36fb 100644 --- a/JavaScriptCore/JavaScriptCore.gypi +++ b/JavaScriptCore/JavaScriptCore.gypi @@ -461,6 +461,7 @@ 'wtf/text/StringImpl.cpp', 'wtf/text/StringImpl.h', 'wtf/text/StringStatics.cpp', + 'wtf/text/TextPosition.h', 'wtf/text/WTFString.cpp', 'wtf/text/WTFString.h', 'wtf/unicode/Collator.h', diff --git a/JavaScriptCore/JavaScriptCore.pri b/JavaScriptCore/JavaScriptCore.pri index 847576d..0590b94 100644 --- a/JavaScriptCore/JavaScriptCore.pri +++ b/JavaScriptCore/JavaScriptCore.pri @@ -42,6 +42,7 @@ INCLUDEPATH = \ $$PWD/profiler \ $$PWD/runtime \ $$PWD/wtf \ + $$PWD/wtf/gobject \ $$PWD/wtf/symbian \ $$PWD/wtf/unicode \ $$PWD/yarr \ diff --git a/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def b/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def index aa9d529..449c0bb 100644 --- a/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def +++ b/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def @@ -88,7 +88,7 @@ EXPORTS ?createEmptyString@SmallStrings@JSC@@AAEXPAVJSGlobalData@2@@Z ?createError@JSC@@YAPAVJSObject@1@PAVExecState@1@ABVUString@1@@Z ?createInheritorID@JSObject@JSC@@AAEPAVStructure@2@XZ - ?createInterruptedExecutionException@JSC@@YA?AVJSValue@1@PAVJSGlobalData@1@@Z + ?createInterruptedExecutionException@JSC@@YAPAVJSObject@1@PAVJSGlobalData@1@@Z ?createLeaked@JSGlobalData@JSC@@SA?AV?$PassRefPtr@VJSGlobalData@JSC@@@WTF@@W4ThreadStackType@2@@Z ?createReferenceError@JSC@@YAPAVJSObject@1@PAVExecState@1@ABVUString@1@@Z ?createSingleCharacterString@SmallStrings@JSC@@AAEXPAVJSGlobalData@2@E@Z diff --git a/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj b/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj index 4823286..8c83526 100644 --- a/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj +++ b/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj @@ -72,13 +72,15 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTF.vcproj b/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTF.vcproj index c0ecd45..7c26a9c 100644 --- a/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTF.vcproj +++ b/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTF.vcproj @@ -73,7 +73,6 @@ ConfigurationType="4" InheritedPropertySheets="$(WebKitLibrariesDir)\tools\vsprops\FeatureDefines.vsprops;$(WebKitLibrariesDir)\tools\vsprops\common.vsprops;$(WebKitLibrariesDir)\tools\vsprops\release.vsprops;.\WTFCommon.vsprops" CharacterSet="1" - WholeProgramOptimization="1" > + + + + + + + + + + + + + + + + + @@ -447,6 +500,14 @@ DisableSpecificWarnings="4702" /> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapi.vcproj b/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapi.vcproj index 9581e54..c786abd 100644 --- a/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapi.vcproj +++ b/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapi.vcproj @@ -81,7 +81,6 @@ ConfigurationType="1" InheritedPropertySheets="$(WebKitLibrariesDir)\tools\vsprops\common.vsprops;$(WebKitLibrariesDir)\tools\vsprops\release.vsprops;.\testapiCommon.vsprops;..\JavaScriptCore\JavaScriptCoreCF.vsprops" CharacterSet="1" - WholeProgramOptimization="1" > + + + + + + + + + + + + + + + + + + + + @@ -438,6 +499,14 @@ CompileAs="2" /> + + + -#include +#include "CodeLocation.h" +#include "MacroAssemblerCodeRef.h" #include #include diff --git a/JavaScriptCore/assembler/CodeLocation.h b/JavaScriptCore/assembler/CodeLocation.h index cab28cd..e29029b 100644 --- a/JavaScriptCore/assembler/CodeLocation.h +++ b/JavaScriptCore/assembler/CodeLocation.h @@ -26,8 +26,7 @@ #ifndef CodeLocation_h #define CodeLocation_h - -#include +#include "MacroAssemblerCodeRef.h" #if ENABLE(ASSEMBLER) diff --git a/JavaScriptCore/bytecode/CodeBlock.cpp b/JavaScriptCore/bytecode/CodeBlock.cpp index 55101d4..bcd2af3 100644 --- a/JavaScriptCore/bytecode/CodeBlock.cpp +++ b/JavaScriptCore/bytecode/CodeBlock.cpp @@ -663,6 +663,11 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& printUnaryOp(exec, location, it, "bitnot"); break; } + case op_check_has_instance: { + int base = (++it)->u.operand; + printf("[%4d] check_has_instance\t\t %s\n", location, registerName(exec, base).data()); + break; + } case op_instanceof: { int r0 = (++it)->u.operand; int r1 = (++it)->u.operand; @@ -1187,11 +1192,14 @@ void CodeBlock::dump(ExecState* exec, const Vector::const_iterator& printf("[%4d] throw\t\t %s\n", location, registerName(exec, r0).data()); break; } - case op_new_error: { - int r0 = (++it)->u.operand; - int errorType = (++it)->u.operand; + case op_throw_reference_error: { int k0 = (++it)->u.operand; - printf("[%4d] new_error\t %s, %d, %s\n", location, registerName(exec, r0).data(), errorType, constantName(exec, k0, getConstant(k0)).data()); + printf("[%4d] throw_reference_error\t %s\n", location, constantName(exec, k0, getConstant(k0)).data()); + break; + } + case op_throw_syntax_error: { + int k0 = (++it)->u.operand; + printf("[%4d] throw_syntax_error\t %s\n", location, constantName(exec, k0, getConstant(k0)).data()); break; } case op_jsr: { @@ -1617,7 +1625,7 @@ int CodeBlock::lineNumberForBytecodeOffset(CallFrame* callFrame, unsigned byteco return m_exceptionInfo->m_lineInfo[low - 1].lineNumber; } -int CodeBlock::expressionRangeForBytecodeOffset(CallFrame* callFrame, unsigned bytecodeOffset, int& divot, int& startOffset, int& endOffset) +void CodeBlock::expressionRangeForBytecodeOffset(CallFrame* callFrame, unsigned bytecodeOffset, int& divot, int& startOffset, int& endOffset) { ASSERT(bytecodeOffset < m_instructionCount); @@ -1627,7 +1635,7 @@ int CodeBlock::expressionRangeForBytecodeOffset(CallFrame* callFrame, unsigned b startOffset = 0; endOffset = 0; divot = 0; - return lineNumberForBytecodeOffset(callFrame, bytecodeOffset); + return; } int low = 0; @@ -1639,43 +1647,19 @@ int CodeBlock::expressionRangeForBytecodeOffset(CallFrame* callFrame, unsigned b else high = mid; } - + ASSERT(low); if (!low) { startOffset = 0; endOffset = 0; divot = 0; - return lineNumberForBytecodeOffset(callFrame, bytecodeOffset); + return; } startOffset = m_exceptionInfo->m_expressionInfo[low - 1].startOffset; endOffset = m_exceptionInfo->m_expressionInfo[low - 1].endOffset; divot = m_exceptionInfo->m_expressionInfo[low - 1].divotPoint + m_sourceOffset; - return lineNumberForBytecodeOffset(callFrame, bytecodeOffset); -} - -bool CodeBlock::getByIdExceptionInfoForBytecodeOffset(CallFrame* callFrame, unsigned bytecodeOffset, OpcodeID& opcodeID) -{ - ASSERT(bytecodeOffset < m_instructionCount); - - if (!reparseForExceptionInfoIfNecessary(callFrame) || !m_exceptionInfo->m_getByIdExceptionInfo.size()) - return false; - - int low = 0; - int high = m_exceptionInfo->m_getByIdExceptionInfo.size(); - while (low < high) { - int mid = low + (high - low) / 2; - if (m_exceptionInfo->m_getByIdExceptionInfo[mid].bytecodeOffset <= bytecodeOffset) - low = mid + 1; - else - high = mid; - } - - if (!low || m_exceptionInfo->m_getByIdExceptionInfo[low - 1].bytecodeOffset != bytecodeOffset) - return false; - - opcodeID = m_exceptionInfo->m_getByIdExceptionInfo[low - 1].isOpCreateThis ? op_create_this : op_instanceof; - return true; + return; } #if ENABLE(JIT) @@ -1770,7 +1754,6 @@ void CodeBlock::shrinkToFit() if (m_exceptionInfo) { m_exceptionInfo->m_expressionInfo.shrinkToFit(); m_exceptionInfo->m_lineInfo.shrinkToFit(); - m_exceptionInfo->m_getByIdExceptionInfo.shrinkToFit(); } if (m_rareData) { diff --git a/JavaScriptCore/bytecode/CodeBlock.h b/JavaScriptCore/bytecode/CodeBlock.h index 68acae4..54acd50 100644 --- a/JavaScriptCore/bytecode/CodeBlock.h +++ b/JavaScriptCore/bytecode/CodeBlock.h @@ -93,14 +93,6 @@ namespace JSC { int32_t lineNumber; }; - // Both op_construct and op_instanceof require a use of op_get_by_id to get - // the prototype property from an object. The exception messages for exceptions - // thrown by these instances op_get_by_id need to reflect this. - struct GetByIdExceptionInfo { - unsigned bytecodeOffset : 31; - bool isOpCreateThis : 1; - }; - #if ENABLE(JIT) struct CallLinkInfo { CallLinkInfo() @@ -265,7 +257,6 @@ namespace JSC { struct ExceptionInfo : FastAllocBase { Vector m_expressionInfo; Vector m_lineInfo; - Vector m_getByIdExceptionInfo; #if ENABLE(JIT) Vector m_callReturnIndexVector; @@ -317,8 +308,7 @@ namespace JSC { HandlerInfo* handlerForBytecodeOffset(unsigned bytecodeOffset); int lineNumberForBytecodeOffset(CallFrame*, unsigned bytecodeOffset); - int expressionRangeForBytecodeOffset(CallFrame*, unsigned bytecodeOffset, int& divot, int& startOffset, int& endOffset); - bool getByIdExceptionInfoForBytecodeOffset(CallFrame*, unsigned bytecodeOffset, OpcodeID&); + void expressionRangeForBytecodeOffset(CallFrame*, unsigned bytecodeOffset, int& divot, int& startOffset, int& endOffset); #if ENABLE(JIT) void addCaller(CallLinkInfo* caller) @@ -468,7 +458,6 @@ namespace JSC { PassOwnPtr extractExceptionInfo(); void addExpressionInfo(const ExpressionRangeInfo& expressionInfo) { ASSERT(m_exceptionInfo); m_exceptionInfo->m_expressionInfo.append(expressionInfo); } - void addGetByIdExceptionInfo(const GetByIdExceptionInfo& info) { ASSERT(m_exceptionInfo); m_exceptionInfo->m_getByIdExceptionInfo.append(info); } size_t numberOfLineInfos() const { ASSERT(m_exceptionInfo); return m_exceptionInfo->m_lineInfo.size(); } void addLineInfo(const LineInfo& lineInfo) { ASSERT(m_exceptionInfo); m_exceptionInfo->m_lineInfo.append(lineInfo); } diff --git a/JavaScriptCore/bytecode/Opcode.h b/JavaScriptCore/bytecode/Opcode.h index 8ee82e7..6c1c6b2 100644 --- a/JavaScriptCore/bytecode/Opcode.h +++ b/JavaScriptCore/bytecode/Opcode.h @@ -82,6 +82,7 @@ namespace JSC { macro(op_bitor, 5) \ macro(op_bitnot, 3) \ \ + macro(op_check_has_instance, 2) \ macro(op_instanceof, 5) \ macro(op_typeof, 3) \ macro(op_is_undefined, 3) \ @@ -183,7 +184,8 @@ namespace JSC { \ macro(op_catch, 2) \ macro(op_throw, 2) \ - macro(op_new_error, 4) \ + macro(op_throw_reference_error, 2) \ + macro(op_throw_syntax_error, 2) \ \ macro(op_jsr, 3) \ macro(op_sret, 2) \ diff --git a/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp b/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp index 7538314..1fa5aa4 100644 --- a/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp +++ b/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp @@ -443,7 +443,6 @@ BytecodeGenerator::BytecodeGenerator(FunctionBodyNode* functionBody, const Debug emitOpcode(op_get_callee); instructions().append(func->index()); // Load prototype. - emitGetByIdExceptionInfo(op_create_this); emitGetById(funcProto.get(), func.get(), globalData()->propertyNames->prototype); emitOpcode(op_create_this); @@ -1158,6 +1157,12 @@ bool BytecodeGenerator::findScopedProperty(const Identifier& property, int& inde return true; } +void BytecodeGenerator::emitCheckHasInstance(RegisterID* base) +{ + emitOpcode(op_check_has_instance); + instructions().append(base->index()); +} + RegisterID* BytecodeGenerator::emitInstanceOf(RegisterID* dst, RegisterID* value, RegisterID* base, RegisterID* basePrototype) { emitOpcode(op_instanceof); @@ -2050,13 +2055,16 @@ RegisterID* BytecodeGenerator::emitCatch(RegisterID* targetRegister, Label* star return targetRegister; } -RegisterID* BytecodeGenerator::emitNewError(RegisterID* dst, bool isReferenceError, JSValue message) +void BytecodeGenerator::emitThrowReferenceError(const UString& message) { - emitOpcode(op_new_error); - instructions().append(dst->index()); - instructions().append(isReferenceError); - instructions().append(addConstantValue(message)->index()); - return dst; + emitOpcode(op_throw_reference_error); + instructions().append(addConstantValue(jsString(globalData(), message))->index()); +} + +void BytecodeGenerator::emitThrowSyntaxError(const UString& message) +{ + emitOpcode(op_throw_syntax_error); + instructions().append(addConstantValue(jsString(globalData(), message))->index()); } PassRefPtr